创建带有多个数据的柱状图:

不同的地方主要是数据提供不一样:在dataset.addValue()中第二个参数部位""或null就行了,我们也可以使用数组的方式提供:
/**
* 创建柱状图数据的第二种方式
* @return
*/
private static CategoryDataset createBarDataSet2(){
double[][] data = new double[][] {{1310, 1220, 1110, 1000},{720, 700, 680, 640},{1130, 1020, 980, 800},{440, 400, 360, 300}};
String[] rowKeys = { "pig", "beef", "chicken", "fish" };
String[] columnKeys = { "Guangzhou", "Shenzhen", "Dongguan", "Foshan" };
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
return dataset;
}
3)创建折线图:

/**
* 创建折线图
* @param title
* @param XLabel
* @param YLabel
* @return
*/
public static JFreeChart createLineChart(String title,String XLabel,String YLabel) {
//该数据的Demo由系统提供,故不传入相应的Map或List数据了
DefaultCategoryDataset dataset=createLineDataset();
// 定义图表对象(折线图名称,横坐标名称,纵坐标名称,数据, 水平显示图像)
JFreeChart chart = ChartFactory.createLineChart(title,XLabel,YLabel,dataset,PlotOrientation.VERTICAL,true,true,false);
setLineStyle(chart);
return chart;
}
/**
* 生成折线图数据
* @return
*/
private static DefaultCategoryDataset createLineDataset() {
DefaultCategoryDataset linedataset = new DefaultCategoryDataset();
// 各曲线名称
String series1 = "冰箱";
String series2 = "彩电";
String series3 = "洗衣机";
// 横轴名称(列名称)
String type1 = "1月";
String type2 = "2月";
String type3 = "3月";
linedataset.addValue(0.0, series1, type1);
linedataset.addValue(4.2, series1, type2);
linedataset.addValue(3.9, series1, type3);
linedataset.addValue(1.0, series2, type1);
linedataset.addValue(5.2, series2, type2);
linedataset.addValue(7.9, series2, type3);
linedataset.addValue(2.0, series3, type1);
linedataset.addValue(9.2, series3, type2);
linedataset.addValue(8.9, series3, type3);
return linedataset;
}
/**
* 设置折线图样式
*
* @param chart
*/
private static void setLineStyle(JFreeChart chart){
CategoryPlot plot = chart.getCategoryPlot();
//设置标题字体样式
chart.getTitle().setFont(new Font("黑体", Font.ITALIC,22));
//取得横轴和设置横轴样式
CategoryAxis categoryAxis = plot.getDomainAxis();
categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));
//横轴分类标签
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
cat