public void drawPieChart(String title,ArrayList list)throws IOException {
DefaultPieDataset data = getDataSet(list);//把数据传入
JFreeChart chart = ChartFactory.createPieChart(title, // 图表标题
data,
true, // 是否显示图例
false,
false
);
//写图表对象到文件,参照柱状图生成源码
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\fruitPiedraft.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {}
}
}
/**
* 获取一个演示用的简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSet(ArrayList list) {
DefaultPieDataset dataset = new DefaultPieDataset();
Fruit fruit =new Fruit();
Iterator it = list.iterator();
for( ;it.hasNext();) {
fruit =(Fruit)it.next();
dataset.setValue(fruit.getFruitName(),fruit.getFruitnum());
// dataset.setValue("梨子",200);
// dataset.setValue("葡萄",300);
// dataset.setValue("香蕉",400);
// dataset.setValue("荔枝",500);
}
return dataset;
}
DefaultPieDataset data = getDataSet(list);//把数据传入
JFreeChart chart = ChartFactory.createPieChart(title, // 图表标题
data,
true, // 是否显示图例
false,
false
);
//写图表对象到文件,参照柱状图生成源码
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\fruitPiedraft.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {}
}
}
/**
* 获取一个演示用的简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSet(ArrayList list) {
DefaultPieDataset dataset = new DefaultPieDataset();
Fruit fruit =new Fruit();
Iterator it = list.iterator();
for( ;it.hasNext();) {
fruit =(Fruit)it.next();
dataset.setValue(fruit.getFruitName(),fruit.getFruitnum());
// dataset.setValue("梨子",200);
// dataset.setValue("葡萄",300);
// dataset.setValue("香蕉",400);
// dataset.setValue("荔枝",500);
}
return dataset;
}