`

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中文教程+中文API

    **正文** JFreeChart是一款强大的Java图形库...通过学习《JFreeChart中文教程》和查阅中文API,开发者能够熟练掌握JFreeChart的使用,提升数据可视化的技能,从而更好地在项目中呈现数据,增强用户的理解和分析能力。

    JfreeChart教程+API+例子

    对于初学者来说,这是一个很好的起点,它可以帮助理解JFreeChart的工作原理,并逐步熟悉其API。 总的来说,JFreeChart是一个强大且灵活的Java图表库,它提供了一套全面的API来创建各种复杂的图表。通过学习提供的...

    JFreeChart使用教程(中文).pdf

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

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

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

    JFreeChart中文教程(入门篇)与 JFreeChart重点API英文对照

    通过学习"JFreeChart中文教程(入门篇)",你将掌握创建和定制图表的基本步骤。结合"JFreeChart重点API英文对照",你将进一步深化对高级特性和用法的理解,从而在实际项目中充分利用这个库的强大能力。

    jfreechart教程

    JFreeChart 是一个开源的Java库,用于生成高质量的图表,...教程中的JFreeChart Jar包、源码示例和中文文档为学习过程提供了全方位的支持。无论是初学者还是经验丰富的开发者,都可以从中获益,提升数据可视化的能力。

    jfreechart(入门教程+案例集萃)

    总之,JFreeChart是一个功能强大的图表库,无论是初学者还是经验丰富的开发者,都能从中找到适合自己的解决方案。通过学习和实践,我们可以利用JFreeChart有效地呈现复杂的数据,提升应用的用户体验。

    jfreechart实例教程+笔记+流程图

    首先,我们从 `jfreechart学习笔记.doc` 入手,这份文档应该包含了关于 JFreeChart 的基础知识和关键API的详细解释。通常,它会涵盖如何创建图表对象、设置图表类型、添加数据、定制图表样式等内容。例如,你可能会...

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

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

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

    通过本教程的学习,我们不仅了解了JFreeChart的基本使用流程,还掌握了如何在Web应用中嵌入图表,尤其是3D柱状图的具体实现步骤。JFreeChart的强大功能和灵活性使其成为Java开发者进行数据可视化时的首选工具之一。...

    使用JFreeChart小结(一)

    JFreeChart是一个开源项目,提供了一套全面的API,用于生成多种类型的2D图表,包括线图、柱状图、饼图、散点图、面积图等。在"使用JFreeChart小结(一)"这篇博文中,作者主要分享了入门JFreeChart的基本步骤和一些...

    JFreeChart学习资料(精心收集)

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的高质量图表,包括柱状图、饼图、线图、散点图、面积...通过深入学习和实践,你可以充分利用JFreeChart的潜力,提升你的应用程序或项目的数据可视化能力。

    Java报表之JFreeChart视频教程 java1234出品

    Java报表在软件开发中扮演着...通过本教程的学习,你将能够熟练运用 JFreeChart 创建出专业且美观的报表,提升你的 Java 应用程序的用户体验。记得下载提供的视频教程资源,在实践中不断深化理解和应用。祝你学习愉快!

    JFreeChart Java绘图教程(含下载、安装)

    在本教程中,我们将通过引领读者学习在 JFreeChart 中饼图、柱状图和曲线图的进阶应用,来达到熟练使用 JFreeChart 的目的。 一、下载与环境配置 1. 下载 JFreeChart JFreeChart 是开放源代码的免费软件,但是它...

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

    学习JFreeChart时,这个教程会非常有帮助,因为它能帮助你理解如何初始化图表、添加数据、定制样式,以及如何在Java应用中集成和展示这些图表。教程中通常会有实例代码和解释,让初学者也能快速上手。 在使用...

    JFreeChart使用教程 中文完整版PDF

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

Global site tag (gtag.js) - Google Analytics