JFreeChart简单使用

JFreeChart is a free chart library for Java that can generate a wide variety of charts for use in applications, applets and servlets.

JFreeChart API文档分两部分,org.jfree.chart包和org.jfree.data

我们要画一张图首先做的就是:
以饼图为例:
·
准备数据集->生成数据集对象org.jfree.data.general Interface Dataset的实现类

DefaultPieDataset dpd = new DefaultPieDataset();


·set
数据进去

不同的图set数据的参数不同,一般参数都比较多,但都很好理解

dpd.setValue("Chinese", 108);

       dpd.setValue("Math", 110);

       dpd.setValue("English", 74);

       dpd.setValue("Science Department", 226);


·
使用org.jfree.chart.ChartFactory产生一个JFreeChart对象
createPieChart
方法四个参数分别为饼图标题,数据集,是否产生图注,鼠标移上去是否产生相应的提示信息、locale - the locale (null not permitted),可以改变参数看效果,真的很不错

JFreeChart jfreechart = ChartFactory.createPieChart("bulktree high-tech achievement", dpd,

              true, true, false);


·
利用org.jfree.chart.ChartFrame生成显示图的窗体
ChartFrame
继承自javax.swing.JFrame,自然有窗体标题和JFreeChart对象

ChartFrame frame = new ChartFrame("BULKTREE HIGH-TECH ACHIEVEMENT", jfreechart);

顺便调用setVisible方法显示

frame.pack();

       frame.setVisible(true);


完整的代码如下:

package com.bulktree.jfreechart;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.ChartFrame;

import org.jfree.chart.JFreeChart;

import org.jfree.data.general.DefaultPieDataset;

public class CreatePieChartTest {

    public static void main(String[] args) {

       // 准备饼图数据集

       DefaultPieDataset dpd = new DefaultPieDataset();

       dpd.setValue("Chinese", 108);

       dpd.setValue("Math", 110);

       dpd.setValue("English", 74);

       dpd.setValue("Science Department", 226);

       /**

        * 利用chart工厂产生JFreeChart对象

        * createPieChart四个参数饼图标题,数据集,是否产生图注,鼠标移上去是否产生相应的提示信息、locale - the locale (null not permitted).

        */

       JFreeChart jfreechart = ChartFactory.createPieChart("bulktree high-tech achievement", dpd,

              true, true, false);

      

//     产生3d饼图   

//     JFreeChart jfreechart = ChartFactory.createPieChart3D("bulktree high-tech achievement", dpd,

//            true, true, false);

      

       ChartFrame frame = new ChartFrame("BULKTREE HIGH-TECH ACHIEVEMENT", jfreechart);

       frame.pack();

       frame.setVisible(true);

    }

}





你可能感兴趣的:(swing,jfreechart)