深入探究JFreeChartWord下载.docx
- 文档编号:15342612
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:10
- 大小:19.73KB
深入探究JFreeChartWord下载.docx
《深入探究JFreeChartWord下载.docx》由会员分享,可在线阅读,更多相关《深入探究JFreeChartWord下载.docx(10页珍藏版)》请在冰豆网上搜索。
每个JFreeChart对象只能有1个Title对象,1个Plot对象,可以有多个SubTitle对象。
JFreeChart对象可以进行的操作有:
背景的设置(背景颜色、背景图片、透明度等)、边框的设置(是否可见、笔画、Paint等)、渲染方式的设置、标题对象的设置、子标题对象的增删查操作。
(本文中的所有操作都不提供代码级的介绍,可参见API手册或者源码)
2.2主标题对象
主标题对象是TextTitle类型,可以进行的操作有:
背景设置、字体设置(字体类型、颜色、内容、对齐方式等操作)、tooltip设置、URL设置。
2.3Plot对象
Plot对象是图形的绘制结构对象。
JFreeChart中含有很多不同的Plot对象,每一种图形对象中的Plot对象都在实例化的时候创建。
所有的Plot共有的操作有:
背景设置(背景颜色、背景图片、透明度等)、前景透明度设置、无数据存在情况的设置(显示的字符内容、显示的字体、显示的Paint)、放大缩小比例的设置,大部分Plot对象还有设置Datset、设置Renderer对象操作。
JFreeChart中有18种Plot抽象类的具体实现类。
Plot的具体实现类主要由以下重要对象组成:
Renderer对象(图形的绘制单元——绘图域)Datset(图形的数据源),DomainAxis(区域轴,相当于x轴),RangeAxis(范围轴,相当于y轴)。
不同的Plot对象组成方式不尽相同,有的不含有Renderer对象,比如CompassPlot、ContourPlot、MultiplePiePlot、PiePlot等,有的不含有DomainAxis、RangeAxis对象,另外除了FastScatterPlot类都含有Datset对象,FastScatterPlot使用float的二维数组充当数据源。
尤其说明一点,饼状图相关的Plot对象(MultiplePiePlot、PiePlot、PiePlot3D、RingPlot)中都不含有Renderer对象、DomainAxis对象、RangeAxis对象。
一般来说,Datset对象存储数据模型,Renderer对象存储显示模型,Plot对象根据Datset对象、Renderer对象完成画图操作。
仍以上面的图形讲解Plot对象的组成。
上图的中间区域是是一个XYPlot对象。
其中的折线部分即是图形的绘制单元Renderer对象。
X轴是DomainAxis,y轴是RangeAxis,其中Datset对象属于数据模型范畴,是UI不可见对象。
该图中的plot背景色、网格线的各种设置可以通过XYPlot对象本身完成。
下面讲解Renderer对象、Axis对象(X轴、y轴都属于Axis对象),Datset对象在后续章节中专门讲解。
2.3.1Renderer对象
Renderer对象是图形的绘制单元。
JFreeChart提供了两个接口CategoryItemRenderer和XYItemRenderer、1个抽象类AbstractRenderer供具体的Renderer类实现,给出了将近50种具体实现类。
一般来说Renderer对象可进行的操作有:
对itemlabel(下图中的柱状图上的红色数字即为itemlabel的示例)的默认设置(itemlabel的产生方式、是否可见、字体、Paint、正反向itemlabel的位置设置等)、绘制图形的边框默认设置(Paint、笔画、是否可见等)、绘制图形的默认设置(形状、笔画、是否可见、对应的图例中是否可见等,折线图还有线条是否可见、折点图形是否可见、折点图形是否填充、折点图形的形状、对应的图例中线条是否可见、图形是否可见、整体是否可见等)、以及对指定itemlabel的设置、指定绘制图形的设置。
可以说和具体绘制的图形相关的属性都可以通过Renderer对象设置。
不同的Renderer的实现类实现了不同的显示方式,在含有Renderer对象的JFreeChart对象中,Renderer对象决定了JFreeChart对象的显示方式。
例如:
柱状图的Plot对象中默认的Renderer对象是CategoryItemRenderer对象,通过设置Plot对象的Renderer对象为LineAndShapeRenderer,则柱状图变为线图。
使用中一般不需要显式的实例化一个Renderer对象,一般通过JFreeChart对象的Plot对象调用现有的Renderer对象进行重新设置等操作。
2.3.2Axis对象
JFreeChart提供了两种类型的坐标轴:
CategoryAxis(等级轴)和ValueAxis(值轴),ValueAxis又有3个子类:
DateAxis(时间轴)、NumberAxis(数字轴)、PeriodAxis(时期轴)。
这些坐标轴还有更详细的子类,不再一一列举
Axis对象可进行的操作有:
标题的设置(内容、字体、Paint、显示角度等)、坐标线的设置(笔画、Paint、是否可见等)、刻度线的设置(是否可见、笔画、Paint、位于绘图区域的长度、位于绘图区域外的长度等)、刻度标示的设置(笔画、Paint、字体、与轴的距离等)、坐标轴范围设置等。
CategoryAxis对象还可以进行的操作有:
刻度标示间距设置(最小间距、最大间距、指定间距)等。
ValueAxis对象可进行的操作有:
轴端设置(显示的图形形状)、范围设置(是否自动产生范围、自动产生的最小范围、最大范围、指定确定范围、指定范围大小等)、间隔设置(是否自动产生间隔、指定间隔)等。
DateAxis对象还有对时间刻度显示格式的设置操作。
2.4子标题对象
子标题对象是Title类型的对象,一个JFreeChart可以有多个子标题对象。
JFreeChart提供了5种Title的实现,可以是图片、文本、图例等的形式。
(数据源以及常用图形的处理以及进一步的讨论在后续文章中介绍)
3数据源处理
JFreeChart中的数据源是DataSet接口类型。
该接口有三个主要的子类接口:
CategoryDataset、PieDataset、SeriesDataset
CategoryDataset接口的实现类基本上都维护了一个三元组<
value,row,col>
的列表结构。
不同的实现类中value的类型不相同。
<
row,col>
唯一确定一个三元组。
CategoryDataset的实现类提供对这个三元组的增删改查操作。
PieDataset接口有两个主要的实现类:
CategoryToPieDataset、DefaultPieDataset。
PieDataset接口的实现类基本上都维护了一个二元组<
key,value>
Key唯一确定一个二元组。
CategoryDataset的实现类提供对这个二元组的增删改查操作。
CategoryToPieDataset中的二元结构列表通过对CategoryDataset类型的对象指定行或者列转化过来。
DefaultPieDataset直接维护一个二元结构列表。
SeriesDataset接口的实现类基本上都维护了一种特定数据结构的列表。
以TimeSeriesCollection为例。
它维护一个TimeSeries对象列表,提供对该列表的增删查操作。
每个TimeSeries对象维护一个<
time,value>
列表,提供对该列表的增删改查操作。
三JFreeChart中对常见图形的处理
JFreeChart并不存在多个不同的类来生成不同的图形。
所有的图形都是具体类JFreeChart的实例化对象,初始化JFreeChart对象的时候通过指定不同的Plot实现类就可以显示出不同的图形。
不同的Plot实现类具有不同的Renderer对象、Axis对象、Dataset对象。
JFreeChart提供工厂类ChartFactory方便使用者生成各种不同的图形。
ChartFactory类的各个工厂方法中实现对具体Plot的指定以及对类JFreeChart构造函数的调用。
下面以常用图形说一下常用的使用流程(大部分的操作讲的并不全面,比如JFreeChart可能提供了很多增加、修改数据的方式,下文中可能只列举一种)。
1柱状图
(1)平面柱状图
生成柱状图操作:
JFreeChartchart=ChartFactory.createBarChart(
Stringtitle,//图标题
StringcategoryAxisLabel,//x轴标题
StringvalueAxisLabel,//y轴标题
CategoryDatasetdataset,//数据源
PlotOrientationorientation,//显示方向
booleanlegend,//是否显示图例
booleantooltips,//是否显示tooltip
booleanurls);
//是否指定url
平面柱状图的Plot对象是CategoryPlot类型。
CategoryPlot对象的x轴是CategoryAxis对象,y轴是NumberAxis对象,绘制单元是BarRenderer对象,数据源是CategoryDataset对象。
获取CategoryPlot对象操作为:
CategoryPlotplot=(CategoryPl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深入 探究 JFreeChart