`
wanjianfei
  • 浏览: 323766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JFreeChart 核心类及其功能

    博客分类:
  • J2EE
阅读更多

关键字: 文档

核心类主要有:
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)

用来设置数据轴标尺值的最小值

分享到:
评论

相关推荐

    JFreeChart各个类的功能研究

    本文将深入探讨JFreeChart的核心类及其常用方法,帮助开发者更好地理解和应用这个库。 首先,`JFreeChart`类是所有图表的基础,可以通过`ChartFactory`工厂类来创建特定类型的图表实例。`JFreeChart`类提供了大量...

    JFreechart教程与实例

    通过阅读本章,您可以了解动态图表、掌握JFreechart组件的制图方法、掌握制图对象、理解数据集合、掌握常用绘图区对象类型及关系、掌握坐标轴对象类型及关系、掌握图片渲染对象、了解JFreechart组件的内置JDBC。...

    代替jfreechart的FusionCharts

    而jFreeChart虽然功能强大,但图表样式相对传统,动画效果较弱。 2. 易用性:FusionCharts提供了一套完整的API和示例代码,使得开发者能够快速上手,而jFreeChart的学习曲线相对较陡峭。 3. 平台兼容性:...

    JFreeChart使用总结

    #### 五、JFreeChart核心类库介绍 - **JFreeChart**:图表的主类。 - **CategoryDataset**/`XYDataset`/`TimeSeriesCollection`:数据集接口。 - **CategoryPlot**/`XYPlot`/`TimeSeriesPlot`:绘图区域。 - **...

    jfreechart 1.0.19 源码加文档和依赖包

    1. **JFreeChart核心组件**: - `ChartFactory`:提供了一系列静态方法,用于快速创建各种类型的图表,如`createBarChart()`,`createLineChart()`等。 - `ChartPanel`:将图表封装到Swing的`JPanel`中,方便在GUI...

    JFreeChart 1.0.9 开发文档

    根据给定文件的信息,我们可以提炼出以下关于JFreeChart 1.0.9的重要知识点: ### JFreeChart 1.0.9 开发文档 ...以上内容详细介绍了JFreeChart 1.0.9版本的核心功能和使用方法,希望对读者有所帮助。

    JFreeChart使用大全

    - **JFreeChart**:核心类,用于创建和配置图表。 - **ChartFactory**:提供静态方法来创建不同类型的图表。 #### JFreeChart开发步骤 1. **建立DataSet数据源**:根据图表类型创建相应的数据集,填充数据。 2. **...

    jfreechart-1.0.14.zip(含demo)

    在提供的 "jfreechart-1.0.14.zip" 压缩包中,包含了 JFreeChart 的 1.0.14 版本及其演示程序,这为开发者提供了直观了解和学习 JFreeChart 功能的机会。本文将详细介绍 JFreeChart 的核心特点、主要功能以及如何...

    jfreechart1.0.17相关jar包及学习API

    1. **JFreeChart核心库**: `jfreechart.jar` 文件包含了JFreeChart的所有类和方法,是使用JFreeChart进行图表绘制的基础。这个库支持静态和动态图表,可以导出为多种格式,如JPEG、PNG、PDF和SVG。 2. **Demo示例**...

    jfreechart-1.019-jar及依赖.zip

    首先,我们要了解JFreeChart的核心组件——`jfreechart-1.0.19.jar`。这是一个包含JFreeChart库所有功能的JAR文件,版本为1.0.19。这个版本的JFreeChart提供了稳定的性能和丰富的图表特性。为了正确使用该库,我们...

    JFreeChart API 中文文档

    文档详细介绍了各个类和方法的功能、参数及返回值,提供了丰富的示例代码,帮助开发者快速上手并解决实际问题。 ### 5. 应用场景 JFreeChart 在数据分析、报表系统、仪表盘、科学计算等领域有着广泛的应用,例如:...

    jfreechart-1.0.9源码及例子

    JFreeChart的源码结构清晰,主要分为几个核心模块: - ChartFactory:提供创建各种图表的工厂方法。 - ChartComponent:表示图表组件,如Legend(图例)、Title(标题)等。 - Dataset:数据集接口,用于存储图表...

    jfreechart个人心得总结

    4. JFreeChart:图表对象,包含了图表的所有组件,如标题、图例、绘图区等。 5. ChartFactory:提供了一系列静态方法,用于快速创建各种类型的图表。 六、JFreeChart 开发步骤 1. 建立 Dataset 数据源:根据数据...

    jfreechart需要的所有包

    这是JFreeChart的基础组件库,提供了一些通用的图形和数据处理功能,包括坐标轴、日期时间处理、国际化支持等。JCommon库与JFreeChart紧密协作,共同为复杂的图表渲染提供底层支持。 在提供的文件列表中,还有`...

    JFreeChart的中文帮助文档

    了解JFreeChart的核心类及其功能对于熟练掌握该库至关重要: - **JFreeChart**:图表对象,所有图表的生成都通过这个对象。 - **XXXDataset**:数据集对象,用于存储绘制图表所需的数据,不同类型的图表对应不同的...

    jfreechart-1.0.3.jar

    标题中的"jfreechart-1.0.3.jar"指的是JFreeChart库的1.0.3版本的Java归档(JAR)文件,这个文件包含了所有必要的类和资源,使得开发人员可以在他们的Java应用程序中集成丰富的图表功能。描述中提到的"含1.0.3的API...

    jFreeChart简单入门.doc

    首先,使用 JFreeChart 需要引入两个核心的 JAR 文件:`jcommon-版本号.jar` 和 `jfreechart-版本号.jar`。这两个库可以从 JFreeChart 的官方网站(http://sourceforge.net/projects/jfreechart/files)下载。值得...

    jfreechart-1.0.13.jar(包含jcommon-1.0.13 和 gnujaxp)

    在本讨论中,我们将深入探讨JFreeChart 1.0.13版本,它不仅包含了JFreeChart的核心功能,还整合了JCommon 1.0.13和GNU JAXP这两个关键组件。 首先,JFreeChart 是Java图表绘制的首选工具,它支持多种图表类型,如...

    jfreechart 源代码

    《深入解析JFreeChart源代码及其应用场景》 JFreeChart是一款功能强大的开源Java图表库,它为Java开发者提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图、甘特图等,使得在Java应用程序中创建高质量的图形...

    Jfreechart各种图的源代码

    JFreeChart的`PiePlot`类是创建饼图的核心,它能处理单一或多个系列的数据,并且支持丰富的自定义选项,如切片颜色、标签、标签距离、阴影效果等。 接下来,折线图(Line Chart)在统计和数据分析中非常常见,用于...

Global site tag (gtag.js) - Google Analytics