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);// 输出图表 

    最后上图显示效果:

     水平:

    垂直:

  • 相关阅读:
    使用部分函数时并未include其所在头文件,但是能编译成功且能运行,为什么?
    ubuntu开发机所需工具,做个记录,不断补充
    c cpp编程用到的系统边角与其拾遗
    几个递进的make file
    可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件
    Mac 从睡眠恢复后没有声音的问题
    [netty4][netty-handler]netty之idle handler处理
    《将博客搬至CSDN》
    python2与python3中__metacalss__的不同用法
    python3 type和object的关系
  • 原文地址:https://www.cnblogs.com/liuhuapiaoyuan/p/3113470.html
Copyright © 2011-2022 走看看