快速业务通道

报表应用系列——图表JFreeChart: 第2章 柱状图 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

报表应用系列——图表JFreeChart: 第2章 柱状图

时间:2010-12-25 BlogJava 临远

2.1. 简单柱状图

首先为柱状图准备数据,柱状图必须使用CategoryDataset,这里我们使用DefaultCategoryDataset。

DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100,"Spring Security","Jan"); dataset.addValue(200,"jBPM 4","Jan"); dataset.addValue(300,"Ext JS","Jan"); dataset.addValue(400,"JFreeChart","Jan");

每调用一次addValue()就会向Dataset中添加一条数据,在图表中看来就是一个柱状矩形,第一个参数100是柱状矩形的长度,第二个参数表示数据的名称,,第三个参数表示数据的分类。

有了图表数据,下一步使用这些数据创建一个柱状图表。

JFreeChart chart = ChartFactory.createBarChart(    "chart",// 标题    "num",// 横轴名称    "type",// 纵轴名称    dataset,// 数据    PlotOrientation.VERTICAL,// 使用垂直柱状图    true,// 是否使用legend     false,// 是否使用tooltip     false // 是否使用url链接 );

最后使用ChartUtilities将chart导出为PNG图片。

FileOutputStream fos = null; try {    fos = new FileOutputStream("target/bar1.png");    ChartUtilities.writeChartAsPNG(fos,chart,400,300); } finally {    fos.close(); }

图 2.1. 简单柱状图

报表应用系列——图表JFreeChart: 第2章 柱状图(2)

时间:2010-12-25 BlogJava 临远

完整代码如下所示:

DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100,"Spring Security","Jan"); dataset.addValue(200,"jBPM 4","Jan"); dataset.addValue(300,"Ext JS","Jan"); dataset.addValue(400,"JFreeChart","Jan"); JFreeChart chart = ChartFactory.createBarChart("chart","num",     "type",dataset,PlotOrientation.VERTICAL,true,false,     false); FileOutputStream fos = null; try {   fos = new FileOutputStream("target/bar1.png");   ChartUtilities.writeChartAsPNG(fos,chart,400,300); } finally {   fos.close(); } 

2.2. 水平柱状图

把PlotOrientation.VERTICAL改成PlotOrientation.HORIZONTAL,柱状图就从竖直的变成了水平的。

图 2.2. 水平柱状图

2.3. 三维柱状图

使用createBarChart3D就会生成三维柱状图。

图 2.3. 三维柱状图

报表应用系列——图表JFreeChart: 第2章 柱状图(3)

时间:2010-12-25 BlogJava 临远

2.4. 分组柱状图

DefaultCategoryDataset支持分组统计,我们只需要在addValue()时为数据指定分组类型,显示柱状图时会自动根据类别分组显示。

dataset.addValue(100,"Spring Security","Jan"); dataset.addValue(200,"jBPM 4","Jan"); dataset.addValue(300,"Ext JS","Jan"); dataset.addValue(100,"JFreeChart","Jan"); dataset.addValue(60,"Spring Security","Fer"); dataset.addValue(100,"jBPM 4","Fer"); dataset.addValue(340,"Ext JS","Fer"); dataset.addValue(130,"JFre

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号