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

 

 

最后上图显示效果:

 水平:

垂直:

 

 

posted @ 2013-06-02 03:21  流花飘原  阅读(281)  评论(0编辑  收藏  举报