初學JFreeChart,整理一個例子:(部分來自網(wǎng)頁)
JFreeChart 它主要是用來制作各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區(qū)域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。本文用的是JFreeChart 1.0.2 (根據(jù)版本不同需要根據(jù)類修改部分代碼)下載:http://www.jfree.org/jfreechart/index.html
下載后解壓jfreechart-1.0.2.zip,會發(fā)現(xiàn)在lib下有幾個jar文件,本文只介紹生成餅圖的例子:
1 ,首先將lib下的jcommon-1.0.5.jar和jfreechart-1.0.2.jar放到你的項目的lib下面,
2 ,然后建一個java類用于輸出;
package com.chart.example;
import java.io.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.jfree.data.*;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.*;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
/**
?* 用于演示餅圖的生成
?* @author Winter Lau
?*/
public class PieChartDemo {
???? public static void main(String[] args) throws IOException{
???????? DefaultPieDataset data = getDataSet();
???????? JFreeChart chart = ChartFactory.createPieChart3D(" 分銷商分布圖",?// 圖表標題
???????? data,
???????? true, // 是否顯示圖例
???????? false,
???????? false
???????? );
???????? // 寫圖表對象到文件,參照柱狀圖生成源碼
???????? FileOutputStream fos_jpg = null;
???????? try {
????????????? fos_jpg = new FileOutputStream("D:\\client.jpg");
????????????? PiePlot3D plot=(PiePlot3D)chart.getPlot();
????????????? // 圖片中顯示百分比:默認方式
????????????? //plot.setLabelGenerator(new StandardPieSectionLabelGenerat(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));
????????????? // 圖片中顯示百分比:自定義方式,{0} 表示選項, {1} 表示數(shù)值, {2} 表示所占比例 ,小數(shù)點后兩位
????????????? plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));
????????????? // 圖例顯示百分比:自定義方式, {0} 表示選項, {1} 表示數(shù)值, {2} 表示所占比例
????????????? plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})"));
????????????? ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);
???????? } finally {
????????????? try {
?????????????????? fos_jpg.close();
????????????? } catch (Exception e) {}
???????? }
???? }
???? /**
???? ?* 獲取一個演示用的簡單數(shù)據(jù)集對象
???? ?* @return
???? ?*/
???? private static DefaultPieDataset getDataSet() {
???????? DefaultPieDataset dataset = new DefaultPieDataset();
???????? dataset.setValue(" 一級分銷商",100);
???????? dataset.setValue(" 二級分銷商",200);
???????? dataset.setValue(" 三級分銷商",300);
???????? return dataset;
???? }
}
運行后在你的d盤下會生成一個client.jpg,如下:

更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
