jfreechart主要类

核心类主要有:
org.jfree.chart.JFreeChart :图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。 JFreeChart 引擎本身提供了一个工厂类用于创建不同类型的图表对象
org.jfree.data.category.XXXDataSet: 数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
org.jfree.chart.plot.XXXPlot :图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要 Axis 、 Renderer 以及数据集对象的支持
org.jfree.chart.axis.XXXAxis :用于处理图表的两个轴:纵轴和横轴
org.jfree.chart.render.XXXRender :负责如何显示一个图表对象
org.jfree.chart.urls.XXXURLGenerator: 用于生成 Web 图表中每个项目的鼠标点击链接
XXXXXToolTipGenerator: 用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类

 

 

表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)
 用来设置数据轴标尺值的最小值
 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ON_LOAD_1988/archive/2009/10/18/4694978.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值