zoukankan      html  css  js  c++  java
  • JFreeChat学习柱状图的创建(X,Y轴的口口问题还未解决,固暂时使用拼音表示)

    第一步:一样准备好输出数据,注意和圆饼图生产数据的方法不一样:

     /*------------柱状图---------------*/
     double[][] content= new double[][]{
              {1310,1220,1110},    //猪肉   注意这四种肉都必须包 3 个数据 分别代表3 个城市,必须匹配
              {720,700,680},     //牛肉
              {1130,400,360},    //鸡肉
              {440,1020,980}    //鱼肉
              };
    String[] rowKeys = {"猪肉", "牛肉","鸡肉", "鱼肉"};
     String[] columnKeys = {"guangdong","shanghai","beijing"};  //列名称,表示在柱状图上的显示
    CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, content);

    第二步:一样通过HttpServlet的service方法:

    JFreeChart chart = ChartFactory.createBarChart3D("三大城市肉类销量图", // 图表标题
    "ROULEI",   //Y轴说明
    "XIAOLIANG",  //X轴说明
    dataset, // 数据集
    PlotOrientation.VERTICAL, //垂直显示
    true, // 是否显示图例
    false, // 是否生成工具
    false // 是否生成URL链接
    );// 创建图表 

    第四步:设置字体(解决标题,以及图块说明的 口口 问题)

    Font titleFont = new Font("黑体", Font.BOLD, 20);
            TextTitle textTitle = chart.getTitle();
            textTitle.setFont(titleFont);// 为标题设置上字体
           
            Font LegendFont = new Font("楷体", Font.PLAIN, 18);
            LegendTitle legend = chart.getLegend(0);
            legend.setItemFont(LegendFont);// 为图例说明设置字体

    第五步:像JSP页面输出

    res.setContentType("image/jpeg");// 将输出设置为image/jepg格式

    利用ChartUtilties的writeChartAsJPEG 方法输出

    ChartUtilities.writeChartAsJPEG(res.getOutputStream(), 1.0f, chart,
                    800, 450, null);// 输出图表 

    最后上图显示效果:

     水平:

    垂直:

  • 相关阅读:
    idea打开项目,没有项目文件,文件报红
    使用lombok自动生成链式调用
    gson常用的方式
    LOADING Redis is loading the dataset in memory Redis javaAPI实例
    redis.clients.jedis.exceptions.JedisDataException :READONLY You can't write
    Redis安装步骤
    springboot+jpa+mysql+redis+swagger整合步骤
    springboot+jpa+mysql+swagger2.0整合
    Daily Scrum 10.23
    Daily Scrum 10.22
  • 原文地址:https://www.cnblogs.com/liuhuapiaoyuan/p/3113470.html
Copyright © 2011-2022 走看看