jFreeChart类功能简介

核心API简介在使用JFreeChart插件之前,先了解一下该插件的核心类及其功能,这对将来能够得心应手的使用该插件是非常重要的,JFreeChart核心类及其功能请参见表5.1。
表5.1                         JFreeChart核心类及其功能

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

名称功能
createBarChart()和createBarChart3D()分别用来创建绘制普通柱形图和3D柱形图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集
createXYBarChart()用来创建绘制普通柱形图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图
createStackedBarChart()和createStackedBarChart3D()它们同createBarChart()和createBarChart3D()的功能相同,只是绘制出的柱形图效果不同,它们可以互换使用
createPieChart()和createPieChart3D()分别用来创建绘制普通饼形图和3D饼形图的JFreeChart实例,它们基于的是DefaultPieDataset类型的数据集
createLineChart()和createLineChart3D()分别用来创建绘制普通折线图和3D折线图的JFreeChart实例,它们基于的是DefaultCategoryDataset类型的数据集
createXYLineChart()用来创建绘制普通折线图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图
createAreaChart()用来创建绘制普通区域图的JFreeChart实例,它基于的是DefaultCategoryDataset类型的数据集
createXYAreaChart()用来创建绘制普通区域图的JFreeChart实例,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图
createTimeSeriesChart()用来创建绘制普通时序图的JFreeChart实例,时序图与折线图有些类似,不过时序图提供了绘制移动平均线的功能,通过给定的数据集实例,可以自动计算任意时间段的移动平均值,它基于的是TimeSeries类型的数据集,TimeSeries数据集主要用来绘制与日期和时间相关的统计图
   注意:ChartFactory类中的所有方法均需要传入一个数据集实例,并且返回值类型均为JFreeChart!
如果是通过工厂类ChartFactory创建JFreeChart实例,可以通过ChartFactory类提供的方法获得绘图区实例;如果是通过JFreeChart类创建JFreeChart实例,则需要在创建JFreeChart实例之前订制好绘图区实例,然后在创建时传入。常用的绘图区类及其功能请参见表5.3。
表5.3                         常用的绘图区类及其功能

名称功能
CategoryPlot在绘制基于DefaultCategoryDataset数据集的柱形图、折线图、区域图时,绘图区为该类型
PiePlot在绘制普通饼形图时,绘图区为该类型
PiePlot3D在绘制3D饼形图时,绘图区为该类型
XYPlot在绘制基于TimeSeries数据集的柱形图、折线图、区域图时,绘图区为该类型
表5.3中介绍的几个绘图区类均继承于Plot类,Plot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表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)用来设置在没有绘图数据时在绘图区显示的提示信息
setNoDataMessageFont(Font font)用来设置没有绘图数据时显示的提示信息的字体
setNoDataMessagePaint(Paint paint)用来设置没有绘图数据时显示的提示信息的颜色
CategoryPlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.5。
表5.5                         CategoryPlot类提供的常用方法及其功能

名称功能
setDataset(CategoryDataset dataset)和setDataset(int, CategoryDataset)均用来设置绘图数据集实例,后者的第一个参数为数据集的唯一标识值,前者是采用默认标识值(0)。如果在一个绘图区中只包含一个分类轴和一个数值轴,建议使用前者;否则,一定要通过后者为每个数据集实例指定一个唯一标识值
setDomainAxis(CategoryAxis axis)用来设置分类轴实例
setDomainAxisLocation(AxisLocation location)用来设置分类轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义
setDomainGridlinesVisible(boolean visible)用来设置分类轴标记线是否可见,默认为不可见(false)
setDomainGridlineStroke(Stroke stroke)用来设置分类轴标记线的绘制风格
setDomainGridlinePaint(Paint paint)用来设置分类轴标记线的颜色
setRangeAxis(ValueAxis axis)用来设置数据轴实例
setRangeAxisLocation(AxisLocation location)用来设置数据轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义
setRangeGridlinesVisible(boolean visible)用来设置数据轴标记线是否可见,默认为可见(true)
setRangeGridlineStroke(Stroke stroke)用来设置数据轴标记线的绘制风格
setRangeGridlinePaint(Paint paint)用来设置数据轴标记线的颜色
mapDatasetToDomainAxis(int, int)用来将指定标识值的绘图数据集与分类轴建立关联
mapDatasetToRangeAxis(int, int)用来将指定标识值的绘图数据集与数据轴建立关联
PiePlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.6。
表5.6                         PiePlot类提供的常用方法及其功能

名称功能
setCircular(boolean flag)用来设置饼图为正圆还是椭圆,默认为正圆(true)。建议在绘制普通饼图时采用正圆,在绘制3D饼图时采用椭圆
setStartAngle(double angle)用来设置饼图第一段圆弧的起始绘制角度,默认为在饼图的正上方开始绘制。水平方向饼图的最左侧为0度,最右侧为180度;垂直方向饼图的正上方为90度,正下方为270度
setDirection(Rotation direction)用来设置饼图的绘制方向,默认为按顺时针方向绘制。Rotation.CLOCKWISE代表顺时针,Rotation.ANTICLOCKWISE代表逆时针
setLegendLabelGenerator(PieSectionLabelGenerator generator)用来设置饼图中图例的输出样式
setLabelGenerator(PieSectionLabelGenerator generator)用来设置饼图中普通标签的输出样式,当设置为NULL时,则不显示普通标签及连接线
setLabelFont(Font font)用来设置饼图中普通标签的字体样式
setLabelPaint(Paint paint)用来设置饼图中普通标签的字体颜色
setLabelBackgroundPaint(Paint paint)用来设置饼图中普通标签的背景颜色
setLabelOutlinePaint(Paint paint)用来设置饼图中普通标签的边框颜色
setLabelLinkPaint(Paint paint)用来设置饼图中普通标签与圆弧之间连接线的颜色
setSectionPaint(Comparable, Paint)用来设置饼图中代表指定图例的扇形的填充色
setToolTipGenerator(PieToolTipGenerator generator)用来设置热点饼图中热区标签的输出样式
setURLGenerator(PieURLGenerator generator)用来设置热点饼图中热区链接的URL
setIgnoreNullValues(boolean flag)用来设置是否显示绘图数据设为NULL的图例,默认为显示(false)
setIgnoreZeroValues(boolean flag)用来设置是否显示绘图数据设为0的图例,默认为显示(false)
PiePlot3D类仅提供了一个用来设置3D饼图Z轴高度的方法setDepthFactor(double factor)。
XYPlot类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.7。
表5.7                         XYPlot类提供的常用方法及其功能

名称功能
setDataset(CategoryDataset dataset)和setDataset(int, CategoryDataset)均用来设置绘图数据集实例,后者的第一个参数为数据集的唯一标识值,前者是采用默认标识值(0)。如果在一个绘图区中只包含一个分类轴和一个数值轴,建议使用前者;否则,一定要通过后者为每个数据集实例指定一个唯一标识值
setDomainAxis(CategoryAxis axis)用来设置分类轴实例
setDomainAxisLocation(AxisLocation location)用来设置分类轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义
setDomainGridlinesVisible(boolean visible)用来设置分类轴标记线是否可见,默认为不可见(false)
setDomainGridlineStroke(Stroke stroke)用来设置分类轴标记线的绘制风格
setDomainGridlinePaint(Paint paint)用来设置分类轴标记线的颜色
setRangeAxis(ValueAxis axis)用来设置数据轴实例
setRangeAxisLocation(AxisLocation location)用来设置数据轴的绘制位置,入口参数常量在org.jfree.chart.axis.AxisLocation类中做了定义
setRangeGridlinesVisible(boolean visible)用来设置数据轴标记线是否可见,默认为可见(true)
setRangeGridlineStroke(Stroke stroke)用来设置数据轴标记线的绘制风格
setRangeGridlinePaint(Paint paint)用来设置数据轴标记线的颜色
mapDatasetToDomainAxis(int, int)用来将指定标识值的绘图数据集与分类轴建立关联
mapDatasetToRangeAxis(int, int)用来将指定标识值的绘图数据集与数据轴建立关联
可以通过绘图区实例获得坐标轴实例,然后设置坐标轴的绘制属性;也可以将设置好的坐标轴实例传入到绘图区实例中。常用的坐标轴类及其功能请参见表5.8。
表5.8                         常用的坐标轴类及其功能

名称功能
CategoryAxis用来定义分类型坐标轴
ValueAxis用来定义数值型坐标轴,包括普通的数值型和日期型
NumberAxis用来定义普通数值型坐标轴
DateAxis用来定义日期型坐标轴
Axis类是表5.8中介绍的几个类的父类,Axis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.9。
表5.9                         Axis类提供的常用方法及其功能

名称功能
setLabel(String label)用来设置坐标轴标题
setLabelFont(Font font)用来设置坐标轴标题的字体
setLabelPaint(Paint paint用来设置坐标轴标题的颜色
setLabelAngle(double angle)用来设置坐标轴标题的旋转角度
setTickLabelFont(Font font)用来设置坐标轴标尺值的字体
setTickLabelPaint(Paint paint)用来设置坐标轴标尺值的颜色
setTickMarkStroke(Stroke stroke)用来设置坐标轴标尺标记的笔触
setTickMarkPaint(Paint paint)用来设置坐标轴标尺标记的颜色
CategoryAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.10。
表5.10                         CategoryAxis类提供的常用方法及其功能

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

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

名称功能
setNumberFormatOverride(NumberFormat formatter)用来简单格式化数据轴标尺值的输出样式
setTickUnit(NumberTickUnit unit)即可以格式化数据轴标尺值的输出样式,又可以设置标尺值之间的间隔
DateAxis类提供的经常用来订制绘图区绘制属性的方法及其功能请参见表5.13。
表5.13                         DateAxis类提供的常用方法及其功能

名称功能
setDateFormatOverride(DateFormat formatter)用来简单格式化日期轴标尺值的输出样式
setTickUnit(DateTickUnit unit)即可以格式化日期轴标尺值的输出样式,又可以设置标尺值之间的间隔
通过上面对JFreeChart常用类及方法的研究,就可以利用JFreeChart插件绘制出漂亮的统计图表了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值