### Java JFreeChart 教程 #### 一、简介与安装 JFreeChart是一款非常流行的开源图表库,专为Java应用程序设计。它提供了丰富的图表类型,包括饼图、柱状图、折线图等,几乎涵盖了所有常见的统计图表需求。JFreeChart由JFree组织维护,并在SourceForge.net上发布,其主要组成部分包括: 1. **JFreeReport**:用于报表生成。 2. **JFreeChart**:用于创建各种类型的图表,适用于应用、Applet、Servlet或JSP环境。 3. **JCommon**:提供JFreeReport和JFreeChart共用的基础组件。 4. **JFreeDesigner**:用于设计JFreeReport模板的服务端工具。 #### 二、下载与配置 为了使用JFreeChart,首先需要下载相应的软件包。可以从官方网站http://www.jfree.org/jfreechart/index.html获取最新版本。本教程以版本jfreechart-1.0.0-rc3为例进行介绍。 1. **解压文件**: - 将下载的`jfreechart_0.9.21.zip`解压到指定位置。 - 解压后会得到`source`目录,其中包含了JFreeChart的源代码以及`jfreechart-0.9.21-demo.jar`。 2. **添加依赖库**: - 将`jfreechart-0.9.21.jar`、`lib\jcommon-0.9.6.jar`以及`lib\gnujaxp.jar`添加到项目中。 - 对于Java应用,将这些JAR文件放置在`%JAVA_HOME%\lib`目录下,并确保它们被包含在`CLASSPATH`中。 3. **配置Web应用**(以Tomcat为例): - 在Tomcat的Web应用目录(例如`TEST\WEB-INF\lib`)中添加上述JAR文件。 - 修改`web.xml`文件以配置Servlet: ```xml <servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>DisplayChart</servlet-name> <url-pattern>/servlet/DisplayChart</url-pattern> </servlet-mapping> ``` #### 三、图表类型与示例 JFreeChart支持多种类型的图表,包括但不限于: 1. **饼图**(Pie Charts):可以是2D或3D形式,适用于显示数据比例关系。 2. **柱状图**(Bar Charts):包括常规柱状图和堆叠柱状图,可选3D效果,适合对比不同类别的数据。 3. **折线图**(Line and Area Charts):用于显示数据趋势。 4. **散点图**(Scatter Plots)与气泡图(Bubble Charts):适用于展示二维或三维数据分布。 5. **时间序列图**(Time Series)、高低开收盘图(High/Low/Open/Close Charts)以及蜡烛图(Candlestick Charts):常用于金融市场数据分析。 6. **组合图**(Combination Charts):将不同类型的图表组合在一起展示。 7. **帕累托图**(Pareto Charts):用于质量控制。 8. **甘特图**(Gantt Charts):常用于项目管理。 9. **风向图**(Wind Plots)、仪表盘图(Meter Charts)以及符号图(Symbol Charts)。 10. **硅晶圆地图**(Wafer Map Charts):适用于半导体行业。 这些图表不仅可以导出为PNG、JPEG格式的图片,还可以输出为PDF或Excel文件,非常适合集成到企业级应用中。 #### 四、核心API 了解JFreeChart的核心API对于创建图表至关重要。以下是一些常用类: - **`org.jfree.chart.JFreeChart`**:表示一个图表及其相关的图表元素。 - **`org.jfree.data.category.XXXDataSet`**:提供不同类型图表所需的数据集,如`CategoryDataset`、`TimeSeriesCollection`等。 - **`org.jfree.chart.plot.XXXPlot`**:定义图表的具体绘制方式,例如`CategoryPlot`、`XYPlot`等。 - **`org.jfree.chart.axis.XXXAxis`**:定义坐标轴的样式。 - **`org.jfree.chart.renderer.XXXRenderer`**:定义数据如何渲染到图表上,如`CategoryItemRenderer`。 - **`org.jfree.chart.urls.XXXURLGenerator`**:用于生成Web环境中图表元素的URL。 - **`XXXXXToolTipGenerator`**:用于生成图表元素的工具提示。 通过以上介绍可以看出,JFreeChart不仅功能强大而且使用灵活,能够满足各种复杂的应用场景。无论是简单的数据可视化还是复杂的业务报表,JFreeChart都是一个不错的选择。希望这篇教程能帮助您快速上手JFreeChart,并在实际开发中发挥它的巨大潜力。
新一篇: JFreeChart教程(二)
一、JFreeChart获取。
JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下:
1、JFreeReport:报表解决工具
2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp)
3、JCommon:JFreeReport和JFreeChart的公共类库
4、JFreeDesigner:JFreeReport的报表设计工具
我们可以从jfree官方网站上获取最新版本(最新的版本是1.0.5)和相关资料(但是jfree的Developer Guides是需要花美金才能获取),
获取地址:http://www.jfree.org/jfreechart/index.html(同时可以获得简明介绍)
我们以当前版本:jfreechart-1.0.0-rc3.tar.gz为例子进行说明
二、JFreeChart配置安装
1、解压jfreechart_0.9.21.zip到指定位置,其中source是jfreechart的源码,jfreechart-0.9.21-demo.jar
是例子程序(该部分留给大家自己去研究)
2、为了配置成功,我们需要关注的文件有如下三个:jfreechart-0.9.21.jar、lib\jcommon-0.9.6.jar、
lib\gnujaxp.jar
3、如果是Application开发,把上述三个文件拷贝到%JAVA_HOME%\LIB中,同时在环境变量CLASSPATH中加入
二、JFreeChart配置安装
1、解压jfreechart_0.9.21.zip到指定位置,其中source是jfreechart的源码,jfreechart-0.9.21-demo.jar
是例子程序(该部分留给大家自己去研究)
2、为了配置成功,我们需要关注的文件有如下三个:jfreechart-0.9.21.jar、lib\jcommon-0.9.6.jar、
lib\gnujaxp.jar
3、如果是Application开发,把上述三个文件拷贝到%JAVA_HOME%\LIB中,同时在环境变量CLASSPATH中加入
如果是WEB开发,以TOMCAT中的一个WEB项目TEST为例子说明:
把上述三个文件拷贝到TEST\WEB-INF\LIB中,然后修改TEST\WEB-INF\web.xml文件,在其中加入如下代码:
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
至此jfreechart的配置就完成了,下面就可以进行jfreechart的开发了。这里值得提出的是jfreechart的类
结构设计前后兼容性不是很好,不同版本的jfreechart中类库结构可能不一样,有时候可能需要查源码。如果
是中文显示的时候可能依据观感需要改变源码的字体,不过我个人觉得这个版本比以前版本要好一些。
三、JFreeChart功能介绍
JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包括如下几个方面:
pie charts (2D and 3D):饼图(平面和立体)
bar charts (regular and stacked, with an optional 3D effect):柱状图
line and area charts:曲线图
scatter plots and bubble charts
time series, high/low/open/close charts and candle stick charts:时序图
combination charts:复合图
Pareto charts
Gantt charts:甘特图
wind plots, meter charts and symbol charts
wafer map charts
(态图表,饼图(二维和三维) , 柱状图 (水平,垂直),线图,点图,时间变化图,甘特图, 股票行情图,混和图, 温度计图, 刻度图等常用商用图表)
图形可以导出成PNG和JPEG格式,同时还可以与PDF和EXCEL关联
JFreeChart核心类库介绍:
研究jfreechart源码发现源码的主要由两个大的包组成:org.jfree.chart,org.jfree.data。其中前者主要与图形 本身有关,后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究,以后有时间我会告诉大家怎么去研究源码。
核心类主要有:
org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象
org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持
org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴和横轴
剩余25页未读,继续阅读
- 粉丝: 5
- 资源: 25
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页