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);

    }

}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章