- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用JFreeChart生成柱形图
14.2? 利用JFreeChart生成柱形图
14.2.1? 利用DefaultCategoryDataset数据集绘制柱形图
通过JFreeChart插件,既可以生成普通效果的柱形图,也可以生成3D效果的柱形图。如果想生成普通效果的柱形图,需要通过工厂类ChartFactory的createBarChart()方法获得JFreeChart类的实例;如果想生成3D效果的柱形图,需要通过工厂类ChartFactory的createBarChart3D()方法获得JFreeChart类的实例,这两个方法的入口参数是完全相同的,各个入口参数的类型及功能如表14.2所示。
表14.2????????????????????????????????????? 绘制柱形图方法的入口参数类型及功能
?
?
参 数 序 号 ?
入 口 参 数 ?
参 数 功 能 ?
1 ?
String title ?
图表标题 ?
2 ?
String categoryAxisLabel ?
统计种类轴标题,可以理解为X轴标题 ?
3 ?
String valueAxisLabel ?
统计值轴标题,可以理解为Y轴标题 ?
4 ?
CategoryDataset dataset ?
绘图数据集 ?
5 ?
PlotOrientation orientation ?
用于设定柱形图的绘制方向
垂直:PlotOrientation.VERTICAL
水平:PlotOrientation.HORIZONTAL ?
6 ?
boolean legend ?
用于设定是否显示图例 ?
7 ?
boolean tooltips ?
用于设定是否采用标准生成器 ?
8 ?
boolean urls ?
用于设定是否包生成链接 ?
工厂类ChartFactory中的方法的返回值均为JFreeChart类的实例,通过返回的JFreeChart类的实例,可以设置绘图属性,也可以省略该步,直接生成图片,JFreeChart插件将采用默认的绘图属性进行绘制。
可以通过JFreeChart实例设置整个图片的绘制属性,例如通过setBackgroundPaint(Paint paint)方法设置图片的背景色,入口参数可以是Color类的实例,也可以是GradientPaint类的实例,通过GradientPaint类的实例可以实现渐变的背景色效果。
还可以通过JFreeChart实例的getCategoryPlot()方法获得CategoryPlot类的实例,通过CategoryPlot类的实例可以设置绘图区的绘图属性,例如设置绘图区的背景色,标准线的绘制属性等。通过CategoryPlot实例的getRenderer()方法可以获得BarRenderer类的实例,通过BarRenderer类的实例可以设置柱形的绘制属性,例如是否绘制柱形的轮廓线,以及柱形的填充色等,通过BarRenderer实例的setSeriesPaint(int series, Paint paint)方法设置柱形的填充色,第一个入口参数为图例的索引位置,从0开始,第二个入口参数为填充色,同样既可以接受Color类的实例,也可以接受GradientPaint类的实例。
? 示例14-01? 利用DefaultCategoryDataset数据集绘制柱形图
下面来看一个绘制柱形图的完整例子,该例绘制的柱形图效果如图14.1和图14.2所示。
?? ????
?? ?图14.1? 当绘图数据全部为正数时绘制出的柱形图? ?????图14.2? 当绘图数据存在负数时绘制出的柱形图
代码14-01? 光盘位置:光盘\mingrisoft\14\sl\01
绘图时需要用到的相关信息如下:
int width = 500;???? // 图像宽度
int height = 375;????? // 图像高度
String chartTitle = 编程类图书年销量柱形图分析;???? // 图表标题
String subtitle = ------统计时间:2008年;???? // 副标题
String xTitle = 销售时间:2008年;???? // X轴标题
String yTitle = 销售量??? 单位:万册;???? // Y轴标题
String[] cutline = new String[] { ASP, JSP, PHP };???? // 图例名称
String category[] = new String[] {第1季度,第2季度,第3季度,第4季度};?? // 统计种类
Double[][] data = new Double[cutline.length][cate
文档评论(0)