`

JFreeChart学习教程(一)

阅读更多

一、JFreeChart获取。
        JFreeChart
JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下:
        1
JFreeReport:报表解决工具
        2
JFreeChartJava图形解决方案(Application/Applet/Servlet/Jsp
        3
JCommonJFreeReportJFreeChart的公共类库
        4
JFreeDesignerJFreeReport的报表设计工具

   我们可以从jfree官方网站上获取最新版本(最新的版本是1.0.5)和相关资料(但是jfreeDeveloper Guides需要花美金才能获取),
    
获取地址:http://www.jfree.org/jfreechart/index.html(同时可以获得简明介绍)
    
我们以当前版本:jfreechart-1.0.0-rc3.tar.gz为例子进行说明

二、JFreeChart配置安装
    1
、解压jfreechart_0.9.21.zip到指定位置,其中sourcejfreechart的源码,jfreechart-0.9.21-demo.jar
       
是例子程序(该部分留给大家自己去研究)

    2
、为了配置成功,我们需要关注的文件有如下三个:jfreechart-0.9.21.jarlib\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>
                <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
    (
态图表,饼图(二维和三维) , 柱状图 (水平,垂直),线图,点图,时间变化图,甘特图股票行情图,混和图温度计图刻度图等常用商用图表)
    
图形可以导出成PNGJPEG格式,同时还可以与PDFEXCEL关联

    JFreeChart
核心类库介绍:
            
研究jfreechart源码发现源码的主要由两个大的包组成:org.jfree.chart,org.jfree.data。其中前者主要与图形 本身有关,后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究,以后有时间我会告诉大家怎么去研究源码。
         
核心类主要有:
           org.jfree.chart.JFreeChart
:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象
           org.jfree.data.category.XXXDataSet:
数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
           org.jfree.chart.plot.XXXPlot
:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要AxisRenderer以及数据集对象的支持
           org.jfree.chart.axis.XXXAxis
:用于处理图表的两个轴:纵轴和横轴
           org.jfree.chart.render.XXXRender
:负责如何显示一个图表对象
           org.jfree.chart.urls.XXXURLGenerator:
用于生成Web图表中每个项目的鼠标点击链接
           XXXXXToolTipGenerator:
用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类
    
四、JFreeChart开发(Application/Applet

one: pie charts

/**

 * JfreeChartTest.java

 * author:longlong

 * May 31, 2007

 */

package com.ghg.java;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.chart.*;

public class JfreeChartTest {

    public static void main(String[] args) {

       //创建饼图数据对象

       DefaultPieDataset dfp=new DefaultPieDataset();

       dfp.setValue("管理人员", 25);

       dfp.setValue("市场人员", 35);

       dfp.setValue("开发人员", 20);

       dfp.setValue("后勤人员", 5);

       dfp.setValue("财务人员", 15);

        //Create JFreeChart object

       JFreeChart a =ChartFactory.createPieChart("CityInfoPort公司组织架构图",dfp, true, true, true);

       ChartFrame  frame=new ChartFrame ("CityInfoPort公司组织架构图 ",a,true);

       frame.pack();

       frame.setVisible(true);

}

}

Refactor one

/**

 * JfreeChartOne.java

 * author:longlong

 * May 31, 2007

 */

package com.ghg.java;

import java.awt.Font;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartPanel;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.plot.PiePlot;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.data.general.DefaultPieDataset;

import org.jfree.data.general.PieDataset;

import org.jfree.ui.ApplicationFrame;

public class JfreeChartOne extends ApplicationFrame {

    private static final long serialVersionUID = 1L;

    public JfreeChartOne(String s)

    {

       super(s);

       setContentPane(createJPanel());

    }

    public static void main(String[] args) {

       JfreeChartOne one=new JfreeChartOne("CityInfoPort公司组织架构图");

       one.pack();

       one.setVisible(true);

    }

    //利用静态方法设定数据源(饼状图)

    public static PieDataset createPieDataset() {

       DefaultPieDataset defaultpiedataset = new DefaultPieDataset();

       defaultpiedataset.setValue("管理人员", 10.02D);

       defaultpiedataset.setValue("市场人员", 20.23D);

       defaultpiedataset.setValue("开发人员", 60.02D);

       defaultpiedataset.setValue("OEM人员", 10.02D);

       defaultpiedataset.setValue("其他人员", 5.11D);

       return defaultpiedataset;

    }

    // 通过ChartFactory创建JFreeChart的实例

    public static JFreeChart createJFreeChart(PieDataset p)

    {

       JFreeChart a =ChartFactory.createPieChart("CityInfoPort公司组织架构图",p, true, true, true);

       PiePlot  pie=(PiePlot )a.getPlot();

       pie.setLabelFont(new Font("SansSerif",Font.BOLD,12));

       pie.setNoDataMessage("No data available");

       pie.setCircular(true);

       pie.setLabelGap(0.01D);//间距

       return a;

分享到:
评论
1 楼 影非弦 2013-07-12  
这个貌似还没有写完啊

相关推荐

    JFreeChart使用教程(中文).pdf

    JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够 用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...

    JFreeChart使用教程(含下载、安装)

    JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...

    JFreeChart详细中文教程|案例|中文API|乱码解决方法|等集合

    绝对物超所值! JFreeChart-1.0.13原文件含jar包。 1、JFreeChart生成图片路径教程 ...4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括csdn上得优秀案例 ------20+M的数据不要别后悔哦

    JFreeChart使用教程 中文完整版PDF

    JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,...《JFreeChart使用教程 》将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。

    JFreeChart 详细中文教程 案例 中文API 乱码解决方法

    JFreeChart-1.0.13原文件含jar包。 1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细) ...4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括许多优秀案例

    JFreeChart使用教程(中文)

    JFreeChart中文使用教程,描述的很不错,有各种图表的制作方法,适宜初学者。

    JFreeChart学习资料(精心收集)

    精心收集的,很全面啊,适合新手及进阶!

    JFreeChart文档、jar包、教程

    该包中包含有JFreeChart的文档、jar包、教程,能够帮您快速解决项目开发以及学习过程中需要用到的报表

    JfreeChart教程

    这里包含了Jfreechart的学习文档、相关jar包以及一个入门级的demo,对初学者会有很大帮助

    jfreechart中文教程

    这是本人搜集的关于jfreechart进行图表制作方面的资料,现上传以共享,希望对初学者有所帮助

    jfreechart学习.rar_java 图表_jfreechart_jfreechart-1.0.9.zip_网页制作

    用JFreeChart画统计分析柱状图建站指南网页制作网页特效Flash动画网络编程素材下载教程下载建站服务HTML学习CSS学习JAVASCRIPT教程ASP技术PHP技术JSP技术ASP_NET技术数据库技术

    JFreeChart报表及其实例

    另外提一下根据我对教程的学习和实践,我认为实例有一个错误: 就是最后生成JFreeChart chart报表对象,原来项目上是执行String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session); ...

    jfreechart收集资料(教程+示例+中英文API).chm

    本人精心收集的资料!打包成CHM格式方便学习和查阅! 共有85篇关于JFreechart的教程+示例+中英文API! 还有很多在实际应用中碰到的常见问题的讨论帖! 没分的朋友可以加我QQ(11573639)!

    JFreeChart精髓实例,入门,教程收藏

    JFreeChart珍贵资料收藏,自己学习很管用,饼图,柱状图,线条,收藏的各种入门,教程,以及实例。

    JFreeChart 深入探究 实用文档

    JFreeChart 深入探究 实用文档,好东西,学习必不可少的文档

    jfreechart史上最全资料(含源码及文档、教程).zip

    做过图表的朋友一定听过JfreeChart这个组件,功能非常强大,是做报表必不可少的,如果您还不会或者不够深入,那么推荐您一定要好好学习它,让您成为高手,做图表不求人。 资源内容包括Java项目源代码、jfreechart-...

    jfreechart 开发指南

    很适合初学者的教程 JFreeChart是什么? JFreeChart 是一款Java平台的免费图表库。它遵从GNU下的LGPL许可证协议。被设计用于在Application、Applets、Servlets、JSP下生成各种图表(PNG、JPG等图片格式)。

    JFreeChat中文教程

    很适合初学者使用的JFREECHART中文帮助文档,里面包括如何用JAVA,或者JSP,生成饼状图,柱状图等,蛮有用的

    java学习阶段所有的API帮助文档

    中文,html5+API中文帮助文档,HTML语言教程,JavaEE6.0_API_帮助文档,JavaEE7-api,JBoss jBPM 3.0,jBPM4.3用户指南,JDK+8.0+EN+API,JDOM_API_帮助文档,JFreeChart+API+文档,jQuery1.3中文参考,JScript 中文...

Global site tag (gtag.js) - Google Analytics