当前位置: 代码迷 >> 综合 >> 使用JFreeChart生成饼图,不做任何注释,只求应用,生成的饼图放在D:\\fruit.jpg
  详细解决方案

使用JFreeChart生成饼图,不做任何注释,只求应用,生成的饼图放在D:\\fruit.jpg

热度:63   发布时间:2024-01-17 04:02:06.0
/**
* 要是用JFreeChar生成饼图,不做任何注释,只求应用,生成的饼图放在D:\\fruit.jpg
* 
* 1.加入jcommon-1.0.5.jar和jfreechart-1.0.2.jar
* 
* 2.设置值
* dataset.setValue("苹果", 100);
* dataset.setValue("梨子", 200);
* dataset.setValue("葡萄", 300);
* dataset.setValue("香蕉", 400);
* dataset.setValue("荔枝", 500);
* 
* fos_jpg = new FileOutputStream("D:\\fruit.jpg");
*/
package com.bjpowernode.drp.statreport;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
public class PieCharDemo {
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:\\fruit.jpg");
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0}={1}({2})", NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
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) {
throw new RuntimeException("生成饼图失败!");
}
}
}
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;
}
}