`
aiyalhw
  • 浏览: 61497 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

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/ddxg258/archive/2010/01/11/5177189.aspx

 

http://blog.csdn.net/ddxg258/archive/2010/01/11/5177189.aspx

 

 

分享到:
评论

相关推荐

    Jfreechart

    JFreeChart 是一个流行的 Java 库,用于创建各种类型的图表,包括饼图、折线图、柱状图等。在使用 JFreeChart 进行数据可视化时,可能会遇到乱码的问题,这通常与字体设置不当有关。本文将详细分析 Jfreechart 乱码...

    jfreechart所需jar包.zip

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D图表,包括折线图、柱状图、饼图、散点图等。在Java应用程序中,JFreeChart经常被用于数据分析和可视化,尤其在报表系统、数据分析工具或者任何需要...

    jfreechart的一个小总结

    JFreeChart 是一个开源的 Java 图表库,它允许开发者创建各种复杂的图表,如柱状图、饼图、散点图、线形图等。在本文中,我们将深入探讨 JFreeChart 的核心类和它们在创建图表过程中的作用。 1. **JFreeChart 类**...

    JFreeChart混合图表演示

    JFreeChart是一款强大的Java库,用于创建各种类型的图表,包括柱状图、饼图、线图、散点图等。在“JFreeChart混合图表演示”中,我们重点探讨如何利用JFreeChart来创建一个包含多种图表类型的混合图表,以提供更丰富...

    jfreechart绘制的风速风向玫瑰图

    jfreechart绘制的风速风向玫瑰图 jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart...

    jfreechart使用的3个jar包

    **JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图以及更专业的图表类型,如甘特图和雷达图。在Java应用中,如果你...

    如何在eclipse中配置JFreeChart

    JFreeChart是一款功能强大的Java图表库,它能够生成多种图表,如柱状图、折线图、饼图、时间序列图等,常用于Java应用程序中。而Eclipse是一个开源的集成开发环境,广泛用于Java语言的开发。在Eclipse中配置...

    jfreeChart pdf文档(原文)

    ### jfreeChart 实际开发运用手册知识点概览 #### 一、引言 **1.1 JFreeChart 是什么?** ##### 1.1.1 概述 JFreeChart 是一个免费的图表库,专为 Java 平台设计。它能够应用于各种 Java 应用程序、Applet、...

    jfreechart的jar包

    **JFreeChart 概述** JFreeChart 是一个开源的 Java 图形库,它为 Java 应用程序提供了丰富的图表功能。这个库被广泛用于创建数据可视化,包括但不限于报表、仪表盘、幻灯片和 Web 应用。JFreeChart 支持多种图表...

    jfreechart,jfreechart-1.0.13,jfreechart-1.0.13,jfreechart

    《JFreeChart:Java 图形绘制的利器》 在Java编程世界中,高效且美观的图形展示是数据可视化的重要组成部分。JFreeChart作为一款强大的开源图表库,为开发者提供了丰富的图表类型和高度自定义的能力,使得Java应用...

    JfreeChart-雷达图与导出

    **JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出...

    JFreeChart 官方例子 JFReeChart Dome

    "JFreeChart 官方例子 JFreeChart Dome" 提供了一系列官方示例,帮助开发者更好地理解和运用JFreeChart库的各种功能。 "ChangeLog" 文件通常记录了软件的更新历史,其中包括了每次版本升级中添加的新特性、修复的...

    用JFreeChart写的雷达图实例

    在Java编程环境中,JFreeChart是一个非常流行的库,用于创建各种复杂的图表,包括线图、柱状图、饼图以及我们的焦点——雷达图。本文将深入探讨如何利用JFreeChart库来实现一个雷达图实例,这有助于数据可视化,特别...

    jfreechart依赖jar包

    JFreeChart 是一个强大的 Java 图形库,它为开发者提供了丰富的图表类型,包括柱状图、折线图、饼状图等,用于在 Java 应用程序中进行数据可视化。在 Java 后台开发中,数据的图形化表示能够帮助用户更直观地理解...

    jfreechart+cewolf的架包

    **JFreeChart与Cewolf:构建可视化报表的关键组件** 在Java开发中,生成美观且具有交互性的图表对于数据可视化和报表制作至关重要。JFreeChart和Cewolf是两个强大的开源库,它们共同为开发者提供了丰富的图形生成和...

    JFreeChart用户开发指南1.0.6(中文).pdf

    ### JFreeChart用户开发指南1.0.6(中文)知识点总结 #### 一、引言 **JFreeChart**是一款强大的Java图表绘制库,它为开发者提供了丰富的API来创建各种类型的图表,如饼图、柱状图、折线图等。本指南详细介绍了...

    jfreechart的jar包(全+中文教程)

    JFreeChart是一款强大的Java图表库,它为开发者提供了创建各种静态和动态图表的功能。这个压缩包包含JFreeChart所需的所有核心组件,以及相关的依赖库,如jcommon.jar,确保你可以全面地利用JFreeChart的强大功能。 ...

Global site tag (gtag.js) - Google Analytics