报表应用系列——图表JFreeChart: 第4章 折线图
时间:2010-12-25 Blogjava
4.1. 简单折线图
使用CategoryDataset为图表提供数据。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "Jan", "Spring Security");
dataset.addValue(150, "Jan", "jBPM 4");
dataset.addValue(300, "Jan", "Ext JS");
dataset.addValue(100, "Jan", "JFreeChart");
如果我们只画一条折线时,确保第二个参数是一致的。
下一步使用createLineChart创建图表。
JFreeChart chart = ChartFactory.createLineChart(
"chart", // 标题
"num", // 横坐标
"type", // 纵坐标
dataset, // 数据
PlotOrientation.VERTICAL, // 竖直图表
true, // 是否显示legend
false, // 是否显示tooltip
false // 是否使用url链接
);
最后通过ChartUtilities将报表导出成图片。
图 4.1. 简单折线图
报表应用系列——图表JFreeChart: 第4章 折线图(2)
时间:2010-12-25 Blogjava
4.2. 三维折线图
把createLineChart换成createLineChart3D就可以实现三维折线图。
图 4.2. 三维折线图
4.3. 多重折线图
在CategoryDataset中设置多个分组即可显示为多重折线图。
dataset.addValue(100, "Jan", "Spring Security");
dataset.addValue(150, "Jan", "jBPM 4");
dataset.addValue(300, "Jan", "Ext JS");
dataset.addValue(100, "Jan", "JFreeChart");
dataset.addValue(200, "Fer", "Spring Security");
dataset.addValue(120, "Fer", "jBPM 4");
dataset.addValue(240, "Fer", "Ext JS");
dataset.addValue(40, "Fer", "JFreeChart");
图 4.3. 多重折线图
报表应用系列——图表JFreeChart: 第4章 折线图(3)
时间:2010-12-25 Blogjava
4.4. 设置折线样式
设置节点的样式。
renderer.setBaseShapesVisible(true);
renderer.setShape(new Ellipse2D.Double(-2, -2, 4, 4));
显示数值
renderer.setItemLabelsVisible(true);
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
显示虚线
renderer.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f));
只要会用awt,想要什么样的图形都可以画出来。
图 4.4. 设置折线样式 |