package com.citi.dashboard.excel.graph;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.util.List;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieToolTipGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.Plot;
import org.jfree.data.general.DefaultPieDataset;
public class Pie implements Graph{
String title;
String titleFont;
Plot plot;
boolean createLegend;
List<PieDataset> datasets;
String remark;
public Pie(){}
@Override
public String createGraph(Graph graphData) throws Exception{
DefaultPieDataset data = new DefaultPieDataset();
if(datasets == null || datasets.size() <= 0) {
return null;
}
for(PieDataset dataset: datasets) {
data.setValue(dataset.getKey(), dataset.getValue());
}
PiePlot3D plot = new PiePlot3D(data);// 生成一个3D饼图
JFreeChart chart=new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, createLegend);// 生成一个图
chart.setBackgroundPaint(java.awt.Color.white);// 可选,设置图片背景色
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
// 500是图片长度,300是图片高度
// String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ChartUtilities.writeChartAsJPEG(byteArrayOutputStream, chart, 500, 300);
String userDir = System.getProperty("user.dir");
StringBuilder sb = new StringBuilder(userDir);
StringBuilder imageName = new StringBuilder();
imageName.append("excel/image/").append(this.title).append(System.currentTimeMillis()).append(".jpg");
sb.append("/html/").append(imageName);
// String imagePath = "C:/Users/XQ38442/workspace/DashBoard-Chrome/html/excel/image/pie.jpg";
String imagePath = sb.toString();
FileOutputStream file = new FileOutputStream(imagePath);
file.write(byteArrayOutputStream.toByteArray());
file.close();
System.out.println(imageName.toString());
return imageName.toString();
}
}
Pie.java
最新推荐文章于 2022-06-09 16:00:00 发布