📄 chartutil.java
字号:
package com.fendou.util.chart;
import java.awt.Color;
import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import com.fendou.vo.GoodsStat;
public class ChartUtil {
public static JFreeChart createBarChart(List<GoodsStat> list){
DefaultCategoryDataset dataset =new DefaultCategoryDataset ();
if(null !=list){
for(int i=0;i<list.size();i++){
GoodsStat goods =(GoodsStat)list.get(i);
dataset.addValue((goods.getSaleCount()*goods.getSaleAmount()), "商品", goods.getGoodsName());
}
}
JFreeChart freeChart=ChartFactory.createBarChart("销售统计图",// 图表标题
"商品", // x轴的显示标签
"销售额",// y轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true,// 是否显示图例
true, // 是否生成工具
false // 是否生成URL链接
);
freeChart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = freeChart.getCategoryPlot();
categoryplot.setBackgroundPaint(Color.white);
categoryplot.setDomainGridlinePaint(Color.white);
categoryplot.setDomainGridlinesVisible(true);
categoryplot.setRangeGridlinePaint(Color.blue);
return freeChart;
}
public static JFreeChart createPaiChart(List<GoodsStat> list){
DefaultPieDataset dataset =new DefaultPieDataset ();
if(null !=list){
for(int i=0;i<list.size();i++){
GoodsStat goods =(GoodsStat)list.get(i);
dataset.setValue(goods.getGoodsName(),(goods.getSaleCount()*goods.getSaleAmount()));
}
}
JFreeChart freeChart=ChartFactory.createPieChart( "销售统计图", dataset, true,true,false);
return freeChart;
}
public static JFreeChart createLineChart(List<GoodsStat> list){
DefaultCategoryDataset dataset =new DefaultCategoryDataset ();
if(null !=list){
for(int i=0;i<list.size();i++){
GoodsStat goods =(GoodsStat)list.get(i);
dataset.addValue((goods.getSaleCount()*goods.getSaleAmount()), "商品", goods.getGoodsName());
}
}
JFreeChart freeChart=ChartFactory.createLineChart("销售统计图", "商品", "销售额", dataset, PlotOrientation.VERTICAL, true,true,false);
freeChart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = freeChart.getCategoryPlot();
categoryplot.setBackgroundPaint(Color.white);
categoryplot.setDomainGridlinePaint(Color.white);
categoryplot.setDomainGridlinesVisible(true);
categoryplot.setRangeGridlinePaint(Color.blue);
return freeChart;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -