piechartdemo.java

来自「用java开发的一个企业的DRP系统源码」· Java 代码 · 共 60 行

JAVA
60
字号
package com.bjsxt.drp.statreport;

import java.io.*;
import java.text.NumberFormat;

import org.jfree.data.*;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.*;
import org.jfree.chart.labels.PieSectionLabelGenerator;
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
		);
		
		PiePlot3D plot = (PiePlot3D) chart.getPlot();
        PieSectionLabelGenerator generator=
                new StandardPieSectionLabelGenerator(
                         "{0} : {1} ({2})",
                         NumberFormat.getNumberInstance(), 
                         NumberFormat.getPercentInstance());
        plot.setLabelGenerator(generator);
        
        
		//写图表对象到文件,参照柱状图生成源码
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("D:\\fruit.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);
		} finally {
			try {
				fos_jpg.close();
			} catch (Exception e) {}
		}
	}
	/**
	 * 获取一个演示用的简单数据集对象
	 * @return
	 */
	private static DefaultPieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("苹果",100);
		dataset.setValue("梨子",200);
		dataset.setValue("葡萄",300);
		dataset.setValue("香蕉",400);
		dataset.setValue("荔枝",500);
		return dataset;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?