最近由于网站项目中要用到报表,之前没有学过,所以今天特地稍微的学习了一下,我用JFreeChart来实现的,JFreeChart网上的资源不是那么的多,因为它的jar包免费提供但是文档确实收费的,下面我就放两个简单的图上来
/*
@author sina mail : andywuchuanlong@sina.cn
@author 163 blog : andywuchuanlong@163.com
*/
public class BarChart3D {
public static void main(String[] args) throws Exception {
//创建主题样式
StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
//设置标题字体
standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));
//设置图例的字体
standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));
//设置轴向的字体
standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));
//应用主题样式
ChartFactory.setChartTheme(standardChartTheme);
//以上解决中文乱码
CategoryDataset dataSet = getDateSet2();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", //图标标题
"水果", //目录轴的显示标签
"产量", //数值轴的显示标签
dataSet,//数据集
PlotOrientation.VERTICAL,//图标方向,水平竖直
true,//是否显示图例(简单的柱状图必须是false)
false,//是否生成工具
false);//是否生成url连接
FileOutputStream fos = null;
fos = new FileOutputStream("D:\\fruit2.jpg");
ChartUtilities.writeChartAsJPEG(fos, 1.0f, chart,400, 300);
}
/**
* 获得一个演示用的简单数据集对象
* @return
*
*/
private static CategoryDataset getDateSet() {
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
dataSet.addValue(100, "", "苹果");
dataSet.addValue(200, "", "香蕉");
dataSet.addValue(300, "", "葡萄");
dataSet.addValue(400, "", "梨子");
dataSet.addValue(500, "", "荔枝");
return dataSet;
}
/**
*
*/
public static CategoryDataset getDateSet2(){
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
dataSet.addValue(1500,"上海", "苹果");
dataSet.addValue(200, "武汉", "苹果");
dataSet.addValue(200, "武汉", "香蕉");
dataSet.addValue(300, "长沙", "葡萄");
dataSet.addValue(400, "南昌", "梨子");
dataSet.addValue(1000, "九江", "荔枝");
dataSet.addValue(500, "长沙", "荔枝");
return dataSet;
}
}
转载于:https://blog.51cto.com/andywuchuanlong/1306521