JFreeChart的中文帮助文档.doc

上传人:数据九部 文档编号:10301241 上传时间:2021-05-06 格式:DOC 页数:12 大小:178KB
返回 下载 相关 举报
JFreeChart的中文帮助文档.doc_第1页
第1页 / 共12页
JFreeChart的中文帮助文档.doc_第2页
第2页 / 共12页
JFreeChart的中文帮助文档.doc_第3页
第3页 / 共12页
JFreeChart的中文帮助文档.doc_第4页
第4页 / 共12页
JFreeChart的中文帮助文档.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《JFreeChart的中文帮助文档.doc》由会员分享,可在线阅读,更多相关《JFreeChart的中文帮助文档.doc(12页珍藏版)》请在三一文库上搜索。

1、JFreeChart的中文帮助文档1基本配置在JFreeChart的官方网站(http:/www.jfree.org/jfreechart/index.html)上可以下载到该插件,该插件有两个版本:l jfreechart-1.0.6.zip,该版本适用于Windows系统。l jfreechart-1.0.6.tar.gz,该版本适用于UNIX / Linux系统。本书所有案例的开发环境均为Windows系统,解压缩jfreechart-1.0.6.zip后将得到一个名为jfreechart-1.0.6的文件夹,只需将lib子文件夹内的如下文件拷贝到WEB应用程序的/WEB-INF/lib

2、文件夹内:l jfreechart-1.0.5.jarl jcommon-1.0.10.jarl junit.jarl gnujaxp.jarl servlet.jar并且在/WEB-INF/web.xml文件中添加如下代码,就可以利用JFreeChart插件生成统计图表了。 DisplayChart org.jfree.chart.servlet.DisplayChart DisplayChart /servlet/DisplayChart2开发思路在利用JFreeChart插件生成统计图表时,大体有两种开发思路,一种是通过工厂类ChartFactory创建JFreeChart实例,另一种是

3、通过JFreeChart类创建JFreeChart实例。在通过工厂类ChartFactory创建JFreeChart实例时,基本的开发思路如下:(1)创建相应统计图的数据集实例。(2)通过工厂类ChartFactory创建JFreeChart实例,ChartFactory类中的所有方法均需要传入一个数据集实例。(3)订制图片和绘图区的绘制属性,该步可选。(4)生成指定格式的图片,并返回生成图片的名称。(5)组织图片浏览路径。(6)通过HTML中的元素显示图片。在通过JFreeChart类创建JFreeChart实例时,基本的开发思路如下:(1)创建相应统计图的绘图区实例;(2)创建相应统计图的

4、数据集实例,并传入绘图区实例;(3)订制绘图区的绘制属性,例如绘图区的背景色,柱形图坐标轴的绘制属性,饼形图图例的填充色等,该步可选;(4)通过JFreeChart类创建JFreeChart实例,JFreeChart类的所有构造方法均需要传入一个绘图区实例;(5)订制图片的绘制属性,例如图片的标题、背景色等,该步可选;(6)生成指定格式的图片,并返回生成图片的名称;(7)组织图片浏览路径;(8)通过HTML中的元素显示图片。3核心API简介在使用JFreeChart插件之前,先了解一下该插件的核心类及其功能,这对将来能够得心应手的使用该插件是非常重要的,JFreeChart核心类及其功能请参见

5、表5.1。表5.1 JFreeChart核心类及其功能类名功能JFreeChart图表对象。生成任何类型的图表都要通过该对象,JFreeChart插件提供了一个工厂类ChartFactory,用来创建各种类型的图表对象XXXDataset数据集对象。用来保存绘制图表的数据,不同类型的图表对应着不同类型的数据集对象XXXPlot绘图区对象。如果需要自行定义绘图区的相关绘制属性,需要通过该对象进行设置XXXAxis坐标轴对象。用来定义坐标轴的绘制属性XXXRenderer图片渲染对象。用于渲染和显示图表XXXURLGenerator链接对象。用于生成Web图表中项目的鼠标单击链接XXXToolTi

6、pGenerator图表提示对象。用于生成图表提示信息,不同类型的图表对应着不同类型的图表提示对象通过工厂类ChartFactory,可以创建各种类型的图表对象,常用的创建JFreeChart实例的方法及其功能请参见表5.2。表5.2 ChartFactory类中常用方法及其功能名称功能createBarChart()和createBarChart3D()分别用来创建绘制普通柱形图和3D柱形图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集createXYBarChart()用来创建绘制普通柱形图的JFreeChart实例,它基于的是TimeSe

7、ries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图createStackedBarChart()和createStackedBarChart3D()它们同createBarChart()和createBarChart3D()的功能相同,只是绘制出的柱形图效果不同,它们可以互换使用createPieChart()和createPieChart3D()分别用来创建绘制普通饼形图和3D饼形图的JFreeChart实例,它们基于的是DefaultPieDataset类型的数据集createLineChart()和createLineChart3D()分别用来创建绘制普

8、通折线图和3D折线图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集createXYLineChart()用来创建绘制普通折线图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图createAreaChart()用来创建绘制普通区域图的JFreeChart实例,它基于的是DefaultCategoryDataset类型的数据集createXYAreaChart()用来创建绘制普通区域图的JFreeChart实例,它基于的是TimeSeries类型的数据集,Time

9、Series数据集主要用来绘制与日期和时间相关的统计图createTimeSeriesChart()用来创建绘制普通时序图的JFreeChart实例,时序图与折线图有些类似,不过时序图提供了绘制移动平均线的功能,通过给定的数据集实例,可以自动计算任意时间段的移动平均值,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图 注意:ChartFactory类中的所有方法均需要传入一个数据集实例,并且返回值类型均为JFreeChart!如果是通过工厂类ChartFactory创建JFreeChart实例,可以通过ChartFactory类提供的方

10、法获得绘图区实例;如果是通过JFreeChart类创建JFreeChart实例,则需要在创建JFreeChart实例之前订制好绘图区实例,然后在创建时传入。常用的绘图区类及其功能请参见表5.3。表5.3 常用的绘图区类及其功能名称功能CategoryPlot在绘制基于DefaultCategoryDataset数据集的柱形图、折线图、区域图时,绘图区为该类型PiePlot在绘制普通饼形图时,绘图区为该类型PiePlot3D在绘制3D饼形图时,绘图区为该类型XYPlot在绘制基于TimeSeries数据集的柱形图、折线图、区域图时,绘图区为该类型表5.3中介绍的几个绘图区类均继承于Plot类,P

11、lot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.4。表5.4 Plot类提供的常用方法及其功能名称功能setBackgroundPaint(Paint paint)用来设置绘图区的背景色setBackgroundAlpha(float alpha)用来设置绘图区背景的透明度,参数在0.0和1.0之间,数值越大透明度越低setForegroundAlpha(float alpha)用来设置绘图区前景的透明度,参数在0.0和1.0之间,数值越大透明度越高setNoDataMessage(String message)用来设置在没有绘图数据时在绘图区显示的提示信息setNoData

12、MessageFont(Font font)用来设置没有绘图数据时显示的提示信息的字体setNoDataMessagePaint(Paint paint)用来设置没有绘图数据时显示的提示信息的颜色CategoryPlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.5。表5.5 CategoryPlot类提供的常用方法及其功能名称功能setDataset(CategoryDataset dataset)和setDataset(int, CategoryDataset)均用来设置绘图数据集实例,后者的第一个参数为数据集的唯一标识值,前者是采用默认标识值(0)。如果在一个绘图区中只包

13、含一个分类轴和一个数值轴,建议使用前者;否则,一定要通过后者为每个数据集实例指定一个唯一标识值setDomainAxis(CategoryAxis axis)用来设置分类轴实例setDomainAxisLocation(AxisLocation location)用来设置分类轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义setDomainGridlinesVisible(boolean visible)用来设置分类轴标记线是否可见,默认为不可见(false)setDomainGridlineStroke(Stroke stroke)用

14、来设置分类轴标记线的绘制风格setDomainGridlinePaint(Paint paint)用来设置分类轴标记线的颜色setRangeAxis(ValueAxis axis)用来设置数据轴实例setRangeAxisLocation(AxisLocation location)用来设置数据轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义setRangeGridlinesVisible(boolean visible)用来设置数据轴标记线是否可见,默认为可见(true)setRangeGridlineStroke(Stroke st

15、roke)用来设置数据轴标记线的绘制风格setRangeGridlinePaint(Paint paint)用来设置数据轴标记线的颜色mapDatasetToDomainAxis(int, int)用来将指定标识值的绘图数据集与分类轴建立关联mapDatasetToRangeAxis(int, int)用来将指定标识值的绘图数据集与数据轴建立关联PiePlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.6。表5.6 PiePlot类提供的常用方法及其功能名称功能setCircular(boolean flag)用来设置饼图为正圆还是椭圆,默认为正圆(true)。建议在绘制普通饼

16、图时采用正圆,在绘制3D饼图时采用椭圆setStartAngle(double angle)用来设置饼图第一段圆弧的起始绘制角度,默认为在饼图的正上方开始绘制。水平方向饼图的最左侧为0度,最右侧为180度;垂直方向饼图的正上方为90度,正下方为270度setDirection(Rotation direction)用来设置饼图的绘制方向,默认为按顺时针方向绘制。Rotation.CLOCKWISE代表顺时针,Rotation.ANTICLOCKWISE代表逆时针setLegendLabelGenerator(PieSectionLabelGenerator generator)用来设置饼图中图

17、例的输出样式setLabelGenerator(PieSectionLabelGenerator generator)用来设置饼图中普通标签的输出样式,当设置为NULL时,则不显示普通标签及连接线setLabelFont(Font font)用来设置饼图中普通标签的字体样式setLabelPaint(Paint paint)用来设置饼图中普通标签的字体颜色setLabelBackgroundPaint(Paint paint)用来设置饼图中普通标签的背景颜色setLabelOutlinePaint(Paint paint)用来设置饼图中普通标签的边框颜色setLabelLinkPaint(Pa

18、int paint)用来设置饼图中普通标签与圆弧之间连接线的颜色setSectionPaint(Comparable, Paint)用来设置饼图中代表指定图例的扇形的填充色setToolTipGenerator(PieToolTipGenerator generator)用来设置热点饼图中热区标签的输出样式setURLGenerator(PieURLGenerator generator)用来设置热点饼图中热区链接的URLsetIgnoreNullValues(boolean flag)用来设置是否显示绘图数据设为NULL的图例,默认为显示(false)setIgnoreZeroValues(

19、boolean flag)用来设置是否显示绘图数据设为0的图例,默认为显示(false)PiePlot3D类仅提供了一个用来设置3D饼图Z轴高度的方法setDepthFactor(double factor)。XYPlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.7。表5.7 XYPlot类提供的常用方法及其功能名称功能setDataset(CategoryDataset dataset)和setDataset(int, CategoryDataset)均用来设置绘图数据集实例,后者的第一个参数为数据集的唯一标识值,前者是采用默认标识值(0)。如果在一个绘图区中只包含一个分类

20、轴和一个数值轴,建议使用前者;否则,一定要通过后者为每个数据集实例指定一个唯一标识值setDomainAxis(CategoryAxis axis)用来设置分类轴实例setDomainAxisLocation(AxisLocation location)用来设置分类轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义setDomainGridlinesVisible(boolean visible)用来设置分类轴标记线是否可见,默认为不可见(false)setDomainGridlineStroke(Stroke stroke)用来设置分类

21、轴标记线的绘制风格setDomainGridlinePaint(Paint paint)用来设置分类轴标记线的颜色setRangeAxis(ValueAxis axis)用来设置数据轴实例setRangeAxisLocation(AxisLocation location)用来设置数据轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义setRangeGridlinesVisible(boolean visible)用来设置数据轴标记线是否可见,默认为可见(true)setRangeGridlineStroke(Stroke stroke)

22、用来设置数据轴标记线的绘制风格setRangeGridlinePaint(Paint paint)用来设置数据轴标记线的颜色mapDatasetToDomainAxis(int, int)用来将指定标识值的绘图数据集与分类轴建立关联mapDatasetToRangeAxis(int, int)用来将指定标识值的绘图数据集与数据轴建立关联可以通过绘图区实例获得坐标轴实例,然后设置坐标轴的绘制属性;也可以将设置好的坐标轴实例传入到绘图区实例中。常用的坐标轴类及其功能请参见表5.8。表5.8 常用的坐标轴类及其功能名称功能CategoryAxis用来定义分类型坐标轴ValueAxis用来定义数值型坐

23、标轴,包括普通的数值型和日期型NumberAxis用来定义普通数值型坐标轴DateAxis用来定义日期型坐标轴Axis类是表5.8中介绍的几个类的父类,Axis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.9。表5.9 Axis类提供的常用方法及其功能名称功能setLabel(String label)用来设置坐标轴标题setLabelFont(Font font)用来设置坐标轴标题的字体setLabelPaint(Paint paint用来设置坐标轴标题的颜色setLabelAngle(double angle)用来设置坐标轴标题的旋转角度setTickLabelFont(Fo

24、nt font)用来设置坐标轴标尺值的字体setTickLabelPaint(Paint paint)用来设置坐标轴标尺值的颜色setTickMarkStroke(Stroke stroke)用来设置坐标轴标尺标记的笔触setTickMarkPaint(Paint paint)用来设置坐标轴标尺标记的颜色CategoryAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.10。表5.10 CategoryAxis类提供的常用方法及其功能名称功能setLowerMargin(double margin)用来设置分类轴的下边距setUpperMargin(double margin

25、)用来设置分类轴的上边距setCategoryMargin(double margin)用来设置分类轴之间的间距setMaxCategoryLabelWidthRatio(float ratio)用来设置显示分类轴标记内容的最大比例,如果设为1,表示可以显示标记内容的最大长度与绘图所占宽度相同ValueAxis类是NumberAxis类和DateAxis类的父类,ValueAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.11。表5.11 ValueAxis类提供的常用方法及其功能名称功能setFixedAutoRange(double length)用来动态设置数据轴的标尺

26、范围。例如设置入口参数为100,表示数据轴的标尺范围为从(MaxValue-100)到(MaxValue)setLowerBound(double min)用来设置数据轴标尺值的最小值setUpperBound(double max)用来设置数据轴标尺值的最大值setVerticalTickLabels(boolean flag)用来设置日期轴标记值是否垂直显示,默认为水平显示(false)NumberAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.12。表5.12 NumberAxis类提供的常用方法及其功能名称功能setNumberFormatOverride(Numb

27、erFormat formatter)用来简单格式化数据轴标尺值的输出样式setTickUnit(NumberTickUnit unit)即可以格式化数据轴标尺值的输出样式,又可以设置标尺值之间的间隔DateAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.13。表5.13 DateAxis类提供的常用方法及其功能名称功能setDateFormatOverride(DateFormat formatter)用来简单格式化日期轴标尺值的输出样式setTickUnit(DateTickUnit unit)即可以格式化日期轴标尺值的输出样式,又可以设置标尺值之间的间隔通过上面对JFreeChart常用类及方法的研究,就可以利用JFreeChart插件绘制出漂亮的统计图表了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1