精华内容
下载资源
问答
  • 2019-03-26 17:19:43

    maven引入配置

    <dependency>
        <groupId>jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jcommon</artifactId>
        <version>1.0.24</version>
    </dependency>
    <dependency>
        <groupId>incanter</groupId>
        <artifactId>gnujaxp</artifactId>
        <version>1</version>
    </dependency>
    

    工具类

    当中绘制带刻度的雷达图实现方法是参考别人的解决方案,源文档连接:https://blog.51cto.com/wangjierui/116845

    package com.wangzhongxing.springcloud.common.utils;
    
    import com.wangzhongxing.springcloud.common.config.JFreeChartConfig;
    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.title.LegendTitle;
    import org.jfree.chart.title.TextTitle;
    import org.jfree.data.category.DefaultCategoryDataset;
    import org.jfree.data.general.DefaultPieDataset;
    import org.jfree.ui.RectangleEdge;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    /**
     * 绘制图表工具类
     *
     * @author wangzhongxing
     * @version $Id: JFreeChartUtil.java, v 0.1 2019年03月25日 8:06 PM wangzhongxing Exp $
     */
    public class JFreeChartUtil {
    
        /**
         * 绘制条形图,并生成图片
         *
         * @param config     图表配置参数
         * @param dataset    图表内容数据
         * @param outputFile 输出图片路径
         * @return
         */
        public static boolean drawBarChart(JFreeChartConfig config, DefaultCategoryDataset dataset,
                                           String outputFile) {
            JFreeChart barChart = ChartFactory.createBarChart(config.getTitle(),
                    config.getCategoryAxisLabel(), config.getValueAxisLabel(), dataset,
                    PlotOrientation.VERTICAL, true, true, false);
            // 设置图表背景图颜色
            if (null != config.getBackgroundColor()) {
                barChart.getPlot().setBackgroundPaint(config.getBackgroundColor());
            }
            // 设置图表边框的颜色
            if (null != config.getOutlineColor()) {
                barChart.getPlot().setOutlinePaint(config.getOutlineColor());
            }
            // 设置图表背景图
            if (null != config.getBackgroundImage()) {
                barChart.getPlot().setBackgroundImage(config.getBackgroundImage());
            }
    
            try {
                ChartUtilities.saveChartAsJPEG(new File(outputFile), barChart, config.getWidth(),
                        config.getHeight());
    
                return true;
            } catch (IOException e) {
                return false;
            }
        }
    
        /**
         * 绘制折线图,并生成图片
         *
         * @param config     图表配置参数
         * @param dataset    图表内容数据
         * @param outputFile 输出图片路径
         * @return
         */
        public static boolean drawLineChart(JFreeChartConfig config, DefaultCategoryDataset dataset,
                                            String outputFile) {
            JFreeChart lineChartObject = ChartFactory.createLineChart(config.getTitle(),
                    config.getCategoryAxisLabel(), config.getValueAxisLabel(), dataset,
                    PlotOrientation.VERTICAL, true, true, false);
            // 设置图表背景图颜色
            if (null != config.getBackgroundColor()) {
                lineChartObject.getPlot().setBackgroundPaint(config.getBackgroundColor());
            }
            // 设置图表边框的颜色
            if (null != config.getOutlineColor()) {
                lineChartObject.getPlot().setOutlinePaint(config.getOutlineColor());
            }
            // 设置图表背景图
            if (null != config.getBackgroundImage()) {
                lineChartObject.getPlot().setBackgroundImage(config.getBackgroundImage());
            }
    
            try {
                ChartUtilities.saveChartAsJPEG(new File(outputFile), lineChartObject, config.getWidth(),
                        config.getHeight());
    
                return true;
            } catch (IOException e) {
                return false;
            }
        }
    
        /**
         * 绘制饼图,并生成图片
         *
         * @param config     图表配置参数
         * @param dataset    图表内容数据
         * @param outputFile 输出图片路径
         * @return
         */
        public static boolean drawPieChart(JFreeChartConfig config, DefaultPieDataset dataset,
                                           String outputFile) {
            JFreeChart pieChar = ChartFactory.createPieChart(config.getTitle(), dataset, true, true,
                    false);
            // 设置图表背景图颜色
            if (null != config.getBackgroundColor()) {
                pieChar.getPlot().setBackgroundPaint(config.getBackgroundColor());
            }
            // 设置图表边框的颜色
            if (null != config.getOutlineColor()) {
                pieChar.getPlot().setOutlinePaint(config.getOutlineColor());
            }
            // 设置图表背景图
            if (null != config.getBackgroundImage()) {
                pieChar.getPlot().setBackgroundImage(config.getBackgroundImage());
            }
    
            try {
                ChartUtilities.saveChartAsJPEG(new File(outputFile), pieChar, config.getWidth(),
                        config.getHeight());
    
                return true;
            } catch (IOException e) {
                return false;
            }
        }
    
        public static boolean drawSpiderChart(JFreeChartConfig config, DefaultCategoryDataset dataset,
                                              String outputFile) {
            MySpiderWebPlot spiderwebPlot = new MySpiderWebPlot(dataset);
            JFreeChart jfreechart = new JFreeChart(config.getTitle(), TextTitle.DEFAULT_FONT, spiderwebPlot, false);
            LegendTitle legendtitle = new LegendTitle(spiderwebPlot);
            legendtitle.setPosition(RectangleEdge.BOTTOM);
            jfreechart.addSubtitle(legendtitle);
    
            try {
                ChartUtilities.saveChartAsJPEG(new File(outputFile), jfreechart, config.getWidth(), config.getHeight());
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return true;
        }
    
        public static void main(String[] args) throws IOException {
            // 绘制条形图
            final String price = "price";
            final String number = "number";
            final String type = "type";
            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            dataset.addValue(1.1, "Guitar", price);
            dataset.addValue(5, "Guitar", type);
            dataset.addValue(7, "Guitar", number);
    
            dataset.addValue(0.9, "Piano", price);
            dataset.addValue(3, "Piano", type);
            dataset.addValue(3, "Piano", number);
    
            dataset.addValue(0.6, "Drum", price);
            dataset.addValue(2, "Drum", type);
            dataset.addValue(1, "Drum", number);
    
            dataset.addValue(0.8, "Bass", price);
            dataset.addValue(5, "Bass", type);
            dataset.addValue(6, "Bass", number);
    
            JFreeChartConfig config = new JFreeChartConfig();
            config.setTitle("Instrument");
            config.setCategoryAxisLabel("category");
            config.setValueAxisLabel("value");
            config.setWidth(640);
            config.setHeight(480);
            Color outlineColor = SystemColor.WHITE;
            Color backgroundColor = SystemColor.WHITE;
            BufferedImage bufferedImage = ImageIO.read(new FileInputStream("D:/temp/小狗1.jpg"));
            config.setOutlineColor(outlineColor);
            config.setBackgroundColor(backgroundColor);
            config.setBackgroundImage(bufferedImage);
            String barChartFile = "D:/temp/barChart.jpeg";
            boolean barChartResult = drawBarChart(config, dataset, barChartFile);
            System.out.println(barChartResult);
    
            // 绘制折线图
            DefaultCategoryDataset lineChartDataset = new DefaultCategoryDataset();
            lineChartDataset.addValue(2000, "Fender tele", "1970");
            lineChartDataset.addValue(3000, "Fender tele", "1980");
            lineChartDataset.addValue(5000, "Fender tele", "1990");
            lineChartDataset.addValue(7000, "Fender tele", "2000");
            lineChartDataset.addValue(10000, "Fender tele", "2010");
            lineChartDataset.addValue(11400, "Fender tele", "2018");
    
            JFreeChartConfig lineConfig = new JFreeChartConfig();
            lineConfig.setTitle("乐器");
            lineConfig.setCategoryAxisLabel("价格");
            lineConfig.setValueAxisLabel("金额");
            lineConfig.setWidth(640);
            lineConfig.setHeight(480);
            String lineChartFile = "/temp/lineChart.png";
            boolean lineChartResult = drawLineChart(lineConfig, lineChartDataset, lineChartFile);
            System.out.println(lineChartResult);
    
            // 绘制饼图
            JFreeChartConfig pieConfig = new JFreeChartConfig();
            pieConfig.setTitle("乐器");
            pieConfig.setCategoryAxisLabel("种类");
            pieConfig.setValueAxisLabel("数量");
            pieConfig.setWidth(640);
            pieConfig.setHeight(480);
    
            DefaultPieDataset pieDataset = new DefaultPieDataset();
            pieDataset.setValue("吉他", 40);
            pieDataset.setValue("钢琴", 20);
            pieDataset.setValue("架子鼓", 10);
            pieDataset.setValue("贝斯", 30);
    
            String pieChartFile = "/temp/pieChart.png";
            boolean pieChartResult = drawPieChart(pieConfig, pieDataset, pieChartFile);
            System.out.println(pieChartResult);
    
            // 绘制雷达图
            JFreeChartConfig spiderConfig = new JFreeChartConfig();
            spiderConfig.setTitle("水果产量");
            spiderConfig.setWidth(640);
            spiderConfig.setHeight(480);
            DefaultCategoryDataset spiderDataset = new DefaultCategoryDataset();
            String apple = "apple";
            String banana = "banana";
            spiderDataset.addValue(5, apple, "1月");
            spiderDataset.addValue(6, apple, "2月");
            spiderDataset.addValue(2, apple, "3月");
            spiderDataset.addValue(3, apple, "4月");
            spiderDataset.addValue(7, apple, "5月");
            spiderDataset.addValue(4, apple, "6月");
            spiderDataset.addValue(2, banana, "1月");
            spiderDataset.addValue(5, banana, "2月");
            spiderDataset.addValue(4, banana, "3月");
            spiderDataset.addValue(5, banana, "4月");
            spiderDataset.addValue(8, banana, "5月");
            spiderDataset.addValue(9, banana, "6月");
            boolean spiderChartResult = JFreeChartUtil.drawSpiderChart(spiderConfig, spiderDataset, "/temp/spiderChart.png");
            System.out.println(spiderChartResult);
        }
    
    }
    
    

    依赖模型

    
    import java.awt.*;
    
    /**
     *
     * @author wangzhongxing
     * @version $Id: JFreeChartConfig.java, v 0.1 2019年03月26日 4:32 PM wangzhongxing Exp $
     */
    public class JFreeChartConfig {
    
        /**
         * 图表主题
         */
        private String title;
        /**
         * 图表横坐标标题
         */
        private String categoryAxisLabel;
        /**
         * 图表纵坐标标题
         */
        private String valueAxisLabel;
        /**
         * 图表宽度
         */
        private int    width;
        /**
         * 图表高度
         */
        private int    height;
        /**
         * 图表边框颜色
         */
        private Color  outlineColor;
        /**
         * 背景颜色
         */
        private Color  backgroundColor;
        /**
         * 背景图
         */
        private Image  backgroundImage;
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public String getCategoryAxisLabel() {
            return categoryAxisLabel;
        }
    
        public void setCategoryAxisLabel(String categoryAxisLabel) {
            this.categoryAxisLabel = categoryAxisLabel;
        }
    
        public String getValueAxisLabel() {
            return valueAxisLabel;
        }
    
        public void setValueAxisLabel(String valueAxisLabel) {
            this.valueAxisLabel = valueAxisLabel;
        }
    
        public int getWidth() {
            return width;
        }
    
        public void setWidth(int width) {
            this.width = width;
        }
    
        public int getHeight() {
            return height;
        }
    
        public void setHeight(int height) {
            this.height = height;
        }
    
        public Color getOutlineColor() {
            return outlineColor;
        }
    
        public void setOutlineColor(Color outlineColor) {
            this.outlineColor = outlineColor;
        }
    
        public Color getBackgroundColor() {
            return backgroundColor;
        }
    
        public void setBackgroundColor(Color backgroundColor) {
            this.backgroundColor = backgroundColor;
        }
    
        public Image getBackgroundImage() {
            return backgroundImage;
        }
    
        public void setBackgroundImage(Image backgroundImage) {
            this.backgroundImage = backgroundImage;
        }
    }
    

    雷达图依赖方法

    该方法是引用别人的,原文连接: https://blog.51cto.com/wangjierui/116845

    package com.wangzhongxing.springcloud.common.utils;
    
    import org.jfree.chart.plot.SpiderWebPlot;
    import org.jfree.data.category.CategoryDataset;
    
    import java.awt.*;
    import java.awt.font.FontRenderContext;
    import java.awt.font.LineMetrics;
    import java.awt.geom.*;
    import java.text.NumberFormat;
    
    
    public class MySpiderWebPlot extends SpiderWebPlot {
        private static final long serialVersionUID = -7763566751166048449L;
        private int ticks = DEFAULT_TICKS;
        private static final int DEFAULT_TICKS = 5;
        private NumberFormat format = NumberFormat.getInstance();
        private static final double PERPENDICULAR = 90;
        private static final double TICK_SCALE = 0.015;
        private int valueLabelGap = DEFAULT_GAP;
        private static final int DEFAULT_GAP = 10;
        private static final double THRESHOLD = 15;
    
        MySpiderWebPlot(CategoryDataset createCategoryDataset) {
            super(createCategoryDataset);
        }
    
        @Override
        protected void drawLabel(final Graphics2D g2, final Rectangle2D plotArea, final double value,
                                 final int cat, final double startAngle, final double extent) {
            super.drawLabel(g2, plotArea, value, cat, startAngle, extent);
            final FontRenderContext frc = g2.getFontRenderContext();
            final double[] transformed = new double[2];
            final double[] transformer = new double[2];
            final Arc2D arc1 = new Arc2D.Double(plotArea, startAngle, 0, Arc2D.OPEN);
    
            for (int i = 1; i <= ticks; i++) {
    
                final Point2D point1 = arc1.getEndPoint();
    
                final double deltaX = plotArea.getCenterX();
                final double deltaY = plotArea.getCenterY();
                double labelX = point1.getX() - deltaX;
                double labelY = point1.getY() - deltaY;
    
                final double scale = ((double) i / (double) ticks);
                final AffineTransform tx = AffineTransform.getScaleInstance(scale, scale);
                final AffineTransform pointTrans = AffineTransform.getScaleInstance(scale + TICK_SCALE, scale + TICK_SCALE);
                transformer[0] = labelX;
                transformer[1] = labelY;
                pointTrans.transform(transformer, 0, transformed, 0, 1);
                final double pointX = transformed[0] + deltaX;
                final double pointY = transformed[1] + deltaY;
                tx.transform(transformer, 0, transformed, 0, 1);
                labelX = transformed[0] + deltaX;
                labelY = transformed[1] + deltaY;
    
    
                double rotated = (PERPENDICULAR);
    
                AffineTransform rotateTrans = AffineTransform.getRotateInstance(Math.toRadians(rotated), labelX, labelY);
                transformer[0] = pointX;
                transformer[1] = pointY;
                rotateTrans.transform(transformer, 0, transformed, 0, 1);
                final double x1 = transformed[0];
                final double y1 = transformed[1];
    
                rotated = (-PERPENDICULAR);
                rotateTrans = AffineTransform.getRotateInstance(Math.toRadians(rotated), labelX, labelY);
    
                rotateTrans.transform(transformer, 0, transformed, 0, 1);
    
                final Composite saveComposite = g2.getComposite();
                g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
    
                g2.draw(new Line2D.Double(transformed[0], transformed[1], x1, y1));
    
                if (startAngle == this.getStartAngle()) {
                    final String label = format.format(((double) i / (double) ticks) * this.getMaxValue());
                    final Rectangle2D labelBounds = getLabelFont().getStringBounds(label, frc);
    
    
                    final LineMetrics lm = getLabelFont().getLineMetrics(label, frc);
                    final double ascent = lm.getAscent();
                    if (Math.abs(labelX - plotArea.getCenterX()) < THRESHOLD) {
                        labelX += valueLabelGap;
                        labelY += ascent / (float) 2;
                    } else if (Math.abs(labelY - plotArea.getCenterY()) < THRESHOLD) {
                        labelY += valueLabelGap;
                    } else if (labelX >= plotArea.getCenterX()) {
                        if (labelY < plotArea.getCenterY()) {
                            labelX += valueLabelGap;
                            labelY += valueLabelGap;
                        } else {
                            labelX -= valueLabelGap;
                            labelY += valueLabelGap;
                        }
                    } else {
                        if (labelY > plotArea.getCenterY()) {
                            labelX -= valueLabelGap;
                            labelY -= valueLabelGap;
                        } else {
                            labelX += valueLabelGap;
                            labelY -= valueLabelGap;
                        }
                    }
                    g2.setPaint(getLabelPaint());
                    g2.setFont(getLabelFont());
                    g2.drawString(label, (float) labelX, (float) labelY);
                }
                g2.setComposite(saveComposite);
            }
        }
    }
    

    生成图片样例

    柱状图

    在这里插入图片描述

    折线图

    在这里插入图片描述

    饼图

    在这里插入图片描述

    雷达图

    在这里插入图片描述

    更多相关内容
  • 本文作者:musiq1989,制作了一个很不错的图表插件,并且写了几篇文章来辅助,这是其中的第三篇,本系列已经获得授权,来自授权地址 本期大纲 1、饼图绘制 2、如何添加动画效果 3、使用rollup构建项目 关注我的 ...
  • 在VS2015环境下64位、32位编译通过。High-speed Charting Control--MFC绘制图表(折线图、柱形图)控件。中文翻译文档可参照https://blog.csdn.net/xuanyuanlei1020/article/details/53487107
  • 本篇文章主要介绍了使用Python绘制图表大全总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • vue写的后台管理,需要将表格数据绘制图表(折线图,柱状图),图表数据都是通过接口请求回来的。这篇文章主要介绍了vue+echarts 动态绘制图表及异步加载数据的相关知识,需要的朋友可以参考下
  • 推荐一个在线绘制图表的工具,不需要注册,使用方便 https://rawgraphs.io/ 选择use it now 有几种方式可以导入数据,这儿我们粘贴数据,从excel中复制数据过来 粘贴 下面可以选择不同的图标类型,这儿以雷达图...

    推荐一个在线绘制图表的工具,不需要注册,使用方便
    https://rawgraphs.io/
    在这里插入图片描述
    选择use it now
    在这里插入图片描述
    有几种方式可以导入数据,这儿我们粘贴数据,从excel中复制数据过来
    在这里插入图片描述
    粘贴
    在这里插入图片描述
    下面可以选择不同的图标类型,这儿以雷达图为例
    在这里插入图片描述
    然后做数据映射
    在这里插入图片描述
    做完后效果
    在这里插入图片描述
    左侧可以修改图像元素属性
    在这里插入图片描述
    修改后:
    在这里插入图片描述

    展开全文
  • High-speedChartingControl--MFC绘制图表折线图、饼图、柱形图控件.doc
  • java绘制图表(柱状图、饼图、折线图)包, jfreechart
  • 用Echarts绘制图表数据

    2022-02-22 14:13:34
    之前看到 一些图表,完全就不知道是什么来的,后来才知道有一个东西叫Echarts。这个插件不是什么语言,会JS就可以了,而且有很多的参数键值对,不是都要全部都记住,用的时候去翻文档就可以,牛逼一点的人都是通过...

    感言

    之前看到 一些图标,完全就不知道是什么来的,后来才知道有一个东西叫Echarts。这个不是什么语言,会JS就可以了,而且有很多的参数键值对,不是都要全部都记住,用的时候去翻文档就可以,牛逼一点的人都是通过文档去学习一个新的东西,我目前还不能达到,希望以后可以达到吧,写这个也是为给自己的学习之路做个纪念,不代表自己总结的东西就是有深度的,或者也可能有些是自己的错误理解。

    小节 官网上的Echarts

    1、百度做出来的一个开源的插件,后来记得好像是被托管了,上网搜一下就可以出来,不过现在百度真的有点那啥,首个置顶带官方字样的其实是百度文档的官网,真是浪费用户的鼠标寿命。第二个进不去了,只能通过第三个进去

    2、这里不是第一次来这里逛了,一般进去看配置手册就可以,后面有需要再过来看API

    3、进来之后,左侧栏就是里面的配置项,大多数都是使用JS对象的方式在里面配置信息参数,搜索栏可以去搜索看到的不明配置项的信息

    小节 快速入门

    1、在html页面中,创建一个有高的div容器盒子,这里可以不设置宽,一定要设置高

    2、将前面设置好的div容器初始化一下,引入了jquary文件的话,可以更加方便一些

    3、下面就是配置主题的option,大约图表的主体部分就都在里面了

    4、最后使用setOption方法,将option对象放进去加载,就可以显示出一个最入门的echarts图表了

    小节 参数项与数据后台传入

    1、title

    图表的标题部分,快速入门中就使用到了text一项,当然,有些没有配置的项是直接就会给他们一个默认值,默认值是什么那后面就是什么

    2、legend

    图标的图例部分,可以对图表中的曲线进行对比分析,另外就是图例当中的值的名称是和曲线的名称是一样的,如果不一致的话,是无法显示出来的,这里就是一个坑,自己跳了不少回

    3、xAxis

    这里就是用来设置x轴的样式数据,首先可以表示出来的是,x轴如果在type当中设置了category,类目轴,那它就会根据data当中的数据中取出相关的值出来,展示在x坐标轴上

    4、yAxis

    y轴如果是设置了value,那就是数据轴,这里的数据轴就是根据series来进行相关的数据展示

    5、series

    series就是展示的数据,不是一个对象了,这里就是一个数组,里面可以存相关的数据

    name配置的是这个曲线的名字

    type配置的是这个曲线的类型,如果是line就是折线图,如果是bar就是柱状图,具体配置看配置文档

    data就是数据

    data可以是一个变量,将后台传入过来的数据展示到series中,也就是后台数据的动态展示

    结语

    这个只是入门数据的参数配置,比较简单,后面可以根据配置文档,构造出更好看、精致的图表数据

    展开全文
  • pandas简单绘制图表

    2022-05-08 15:45:49
    在阅读本篇博文前请详细阅读这篇...一、绘制折线图 import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] plt.rcParams['axes.unicode_minus'] = False.

    在阅读本篇博文前请详细阅读这篇前置博文

    pandas的简单使用_wolfwalker的博客-CSDN博客

    目录

    一、绘制折线图 

     二、绘制柱状图

    三、绘制条形图 

    四、使用seaborn美化我们的图表

    绘制纵向的柱状图

     绘制横向的柱状图

     五、绘制直方图

     六、密度图

    七、散点图

    八、散点图矩阵


    由于我们的pandas内部有画图的方法,所以我们可以很方便地生成具体的图像

    一、绘制折线图 

    import pandas as pd
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    data={'上海':[27677,30133,32679],
          '北京':[24899,28000,30320],
          '深圳':[19600,22286,24961],
          '广州':[19493,21500,23000]}
    gdp=pd.DataFrame(data,index=[2016,2017,2018])
    
    series2=pd.Series([17559,19530,20363],index=[2016,2017,2018])
    series2.index.name='重庆\'GDP'
    series2.name='重庆'
    gdp['重庆']=series2
    
    gdp.index.name='年份'
    gdp.columns.name='城市'
    gdp.plot()
    plt.show()

     二、绘制柱状图

    import pandas as pd
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    data={'上海':[27677,30133,32679],
          '北京':[24899,28000,30320],
          '深圳':[19600,22286,24961],
          '广州':[19493,21500,23000]}
    gdp=pd.DataFrame(data,index=[2016,2017,2018])
    
    series2=pd.Series([17559,19530,20363],index=[2016,2017,2018])
    series2.index.name='重庆\'GDP'
    series2.name='重庆'
    gdp['重庆']=series2
    
    gdp.index.name='年份'
    gdp.columns.name='城市'
    gdp.plot.bar()
    plt.show()

    三、绘制条形图 

    import pandas as pd
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    data={'上海':[27677,30133,32679],
          '北京':[24899,28000,30320],
          '深圳':[19600,22286,24961],
          '广州':[19493,21500,23000]}
    gdp=pd.DataFrame(data,index=[2016,2017,2018])
    
    series2=pd.Series([17559,19530,20363],index=[2016,2017,2018])
    series2.index.name='重庆\'GDP'
    series2.name='重庆'
    gdp['重庆']=series2
    
    gdp.index.name='年份'
    gdp.columns.name='城市'
    gdp.plot.barh()
    plt.show()

     

    四、使用seaborn美化我们的图表

    绘制纵向的柱状图

    将我们orient='v'设置之后,我们的图像就是纵向的

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    
    
    n=[response['城市'],response['2018年']]
    m=pd.concat(n,axis=1)
    fig=plt.figure(figsize=(60,5))
    sns.barplot(x='城市',y='2018年',data=response,orient='v')
    plt.show()

     绘制横向的柱状图

    将我们orient='h'设置之后,我们的图像就是横向的

    
    n=[response['城市'],response['2018年']]
    m=pd.concat(n,axis=1)
    fig=plt.figure(figsize=(5,8))
    sns.barplot(x='2018年',y='城市',data=response,orient='h')
    plt.savefig('1.png')
    plt.show()
    

     五、绘制直方图

    使用.plot.hist(bins=)的方法绘制直方图

    
    n=[response['城市'],response['2018年']]
    m=pd.concat(n,axis=1)
    fig=plt.figure(figsize=(5,8))
    response.plot.hist(bins=50)
    plt.savefig('1.png')
    plt.show()

     六、密度图

    使用plot.density绘制密度图

    n=[response['城市'],response['2018年']]
    m=pd.concat(n,axis=1)
    # fig=plt.figure(figsize=(5,8))
    # sns.barplot(x='2018年',y='城市',data=response,orient='h')
    response.plot.density()
    plt.savefig('1.png')
    plt.show()

    七、散点图

    使用sns.regplot的方法来绘制散点图,来表示我们数据之间的关系

    这里我们必须要注意我们给sns.regplot传入的参数必须数据的个数时相同的,在我们下面的代码中,我们的GDP列中的元素个数必须和我们Area列的元素个数必须是一样的,否则会报错

    import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    data=pd.read_csv('gdp_2018.csv')
    print(data)
    print(data['Area'])
    sns.regplot('GDP','Area',data=data)
    plt.show()

    八、散点图矩阵

    import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
    plt.rcParams['axes.unicode_minus'] = False
    data=pd.read_csv('gdp_2018.csv')
    print(data)
    
    //这里我们将所有行的gdp列到Area列挑选出来,并且去掉我们的Rates列,删除的方向为纵向
    //同时设置我们的样式为kde,其中主对角线上的图是我们两两元素的密度图
    //其余位置式我们两个对应元素的散点图
    sns.pairplot(data.loc[:,'GDP':'Area'].drop('Rates',axis=1),diag_kind='kde',plot_kws={'alpha':0.2})
    plt.show()

    展开全文
  • MFC中用MSChart绘制图表

    2018-05-29 16:17:27
    包含MCChart控件,及其所需的配置头文件及源文件,再加一个成功的实例, 本人用VS2012,编译没过可以尝试该工程的配置属性
  • matplotlib绘制图表

    千次阅读 2022-03-21 12:15:27
    绘制柱状图 饼状图 直方图 等高线 三维图 import matplotlib.pyplot as plt plt.plot plt.plot([1,4],[2,8]) #绘制一条线是 先先横坐标 再写纵坐标 plt.show() ''' 使用matplotlib绘制图形时,其中最为常用的...
  • C#绘制图表.rar

    2020-02-03 13:02:29
    C#绘制图表的demo,还有一个相关的pdf,含有注释,绝对完整详细,O(∩_∩)O哈哈~,有问题欢迎留言
  • 第一步 初始化实例,第二步 指定图表的配置项和数据,第三步 使用刚刚指定图表的配置项和数据 进行第一步,基于准备好的dom元素,初始化echarts实例的操作 官网的实例中有各式各样的图表,如饼状图,柱状图,折线图...
  • C#中优秀的免费绘图表软件nplot的项目参考代码,已经升级到vs2010及以上能够使用(网上下载的大多只能在vs2008使用)
  • 9款很棒的网页绘制图表JavaScript框架脚本1.FlotFlot是基于 jQuery框架绘制图表的纯Javascript框架。它可在客户端即时绘制并生成各种图形。重要的是它使用简便(还有很多可选的设置)、吸引人的视觉 效果和交互功能...
  • Pythonmatplotlib绘制图表 matplotlib是Python中的一个第三方库。主要用于开发2D图表,以渐进式、交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力。 一、安装matplotlib pip install ...
  • 《金字塔原理:思考写作与制作图表的逻辑》.pdf
  • python中采用插件pandas绘制图表
  • C++绘制图表

    千次阅读 2020-08-18 17:21:54
    五分钟学会C++高效图表绘制神器调用
  • Ervy在终端中绘制图表

    2019-08-10 05:24:29
    Ervy - 在终端中绘制图表
  • C#绘制图表

    2017-12-15 18:06:52
    利用C#实现统计表,折线,曲线,点的显示,绘制图表
  • VBA自动绘制图表.rar

    2021-08-28 09:55:13
    利用VBA动态生成图表,开放源代码,可适当修改后放到自己的项目中
  • WPF制作图表控件

    2018-07-13 10:22:59
    WPF一款制作图表的控件,下载完之后再直接安装,在VisualStudio的工具箱中会出现相应的图表控件,就可以添加图表。
  • kate绘制图表2

    2021-09-02 18:03:31
    kate绘制图表2
  • 主要介绍了wxPython+Matplotlib绘制折线图表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • MFC C++绘制图表 饼图、柱状图、曲线图

    千次下载 热门讨论 2009-05-06 09:37:45
    MFC根据数据绘制图表,饼图、柱状图、曲线图
  • python图表制作

    千次阅读 2021-02-10 04:19:19
    画一个吸引人注意的图表相当重要。当你探索一个数据集,需要画图表图表看起来令人愉悦是件很高兴的事。在与你的观众交流观点时,可视化同样重要,同时,也很有必要去让图表吸引注意力和印入脑海里。Matplotlib自动...
  • 什么曲线图、饼图,还有你从来都不知道的图都可以生成出来,现在用的比较多的是highcharts,echarts等,django-highcharts是django的一个集成库,使用它在django里更方便绘制出我们想要的图表,所以这篇文章就使用它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,317
精华内容 52,926
关键字:

如何绘制图表