📄 piechart.java
字号:
package com.briup.chart;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import com.briup.dao.bean.Businessmonth;
import com.briup.dao.bean.Businessyear;
public class PieChart {
public void createChart(OutputStream os, List pieValues, String title,
int width, int height, String type) throws IOException {
DefaultPieDataset data = getDataSet(pieValues, type);
JFreeChart chart = ChartFactory.createPieChart3D("", // 图表标题
data, true, // 是否显示图例
false, false);
TextTitle subtitle = new TextTitle(title, new Font("宋体", Font.BOLD, 20));
chart.addSubtitle(subtitle);
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000,
Color.blue));
ChartUtilities.writeChartAsJPEG(os, 1.0f, chart, width, height,
new ChartRenderingInfo());
}
private DefaultPieDataset getDataSet(List pieValues, String type) {
DefaultPieDataset dataset = new DefaultPieDataset();
Iterator iter = pieValues.iterator();
if (type.equals("Businessmonth")) {
while (iter.hasNext()) {
Businessmonth bmonth = (Businessmonth) iter.next();
dataset.setValue(bmonth.getProductName(), bmonth.getSumfee());
}
} else if (type.equals("Businessyear")) {
while (iter.hasNext()) {
Businessyear byear = (Businessyear) iter.next();
dataset.setValue(byear.getProductName(), byear.getSumfee());
}
}
return dataset;
}
/*
* public static void main(String[] args) { List list =new ArrayList();
* for(int i=0;i<5;i++){ PieValue pieValue=new PieValue();
* pieValue.setPieKey("Java"+i); pieValue.setPieValue(20*i);
* list.add(pieValue); } PieChart pc=new PieChart(); try{ FileOutputStream
* fos=new FileOutputStream("d://a.jpg"); pc.createChart(fos, list, "统计",
* 400, 300); }catch(Exception e){ e.printStackTrace(); } }
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -