- 轉自 : http://hua04104.iteye.com/blog/704094
- package com.cs.jfreechart;
- import java.awt.Color;
- import java.awt.Font;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartUtilities;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.plot.PiePlot;
- import org.jfree.chart.title.LegendTitle;
- import org.jfree.chart.title.TextTitle;
- import org.jfree.data.general.DefaultPieDataset;
- public class PieChartDemo {
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- //生成餅圖
- JFreeChart chart = ChartFactory.createPieChart(
- "圖書銷售統計表", //圖表標題
- getDateSet(), //數據
- true, //是否顯示圖例
- false, //是否顯示工具提示
- false //是否生成URL
- );
- //設置標題及標題字體
- chart.setTitle(new TextTitle("圖書銷售統計圖",new Font("黑體",Font.ITALIC,22)));
- //建一個圖例
- LegendTitle legendTitle = chart.getLegend(0);
- //設置圖例字體
- legendTitle.setItemFont(new Font("宋體",Font.BOLD,14));
- //獲取餅圖plot對象
- PiePlot plot = (PiePlot) chart.getPlot();
- //根據key指定各個數據餅圖的顏色
- plot.setSectionPaint("JAVA教程", Color.RED);
- plot.setSectionPaint("c++教程", Color.BLUE);
- plot.setSectionPaint("C#教程", Color.GREEN);
- plot.setSectionPaint("VC++教程", Color.ORANGE);
- //設置plot字體
- plot.setLabelFont(new Font("宋體",Font.BOLD,18));
- //設置背景透明度(0~1)
- plot.setBackgroundAlpha(0.9f);
- //輸出文件
- FileOutputStream fos = new FileOutputStream("book.jpg");
- //用ChartUtilities工具輸出
- ChartUtilities.writeChartAsJPEG(fos, chart, 800, 600);
- fos.close();
- }
- private static DefaultPieDataset getDateSet() {
- //提供生成餅圖的數據
- DefaultPieDataset dataset = new DefaultPieDataset();
- dataset.setValue("JAVA教程", 47);
- dataset.setValue("c++教程", 23);
- dataset.setValue("C#教程", 20);
- dataset.setValue("VC++教程", 10);
- return dataset;
- }
- }
使用JFreeChart創建餅圖
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.