如果是通过工厂类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) |
用来将指定标识值的绘图数据集与数据轴建立关联 |