报表应用系列——图表JFreeChart: 第 3 章 饼状图
2009-09-22 00:00:00 来源:WEB开发网3.2. 炸开的饼图
把饼图中的某一部分提取出来,强调显示。
调用PiePlot中的setExplodePercent方法来实现这一功能。
PiePlot plot = (PiePlot) chart.getPlot();
plot.setExplodePercent("JFreeChart", 0.3);
这里又暴露出一个JFreeChart里的问题,获得Plot也要强制转换成对应的类型才能使用。
图 3.2. 炸开的饼图
3.3. 处理空值和负值
如果设置了值为0或null的值,图表中会显示标签,但是我们看不到数值。
dataset.setValue("null", null);
dataset.setValue("zero", 0);
图 3.3. 空值和负值
如果不希望在图表中显示为空的数据,需要调用PiePlot的两个方法。
plot.setIgnoreZeroValues(true);
plot.setIgnoreNullValues(true);
JFreeChart会一直忽略负值,不需要特殊处理就不会显示在图表中。
3.4. 三维饼图
将createPieChart替换为createPieChart3D就可以实现三维饼图。
图 3.4. 三维饼图
3.5. 多重饼图
要想使用多重饼图,必须先把PieDataset改成CategoryDataset。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "Spring Security", "Jan");
dataset.addValue(200, "jBPM 4", "Jan");
dataset.addValue(300, "Ext JS", "Jan");
dataset.addValue(100, "JFreeChart", "Jan");
dataset.addValue(60, "Spring Security", "Fer");
dataset.addValue(100, "jBPM 4", "Fer");
dataset.addValue(340, "Ext JS", "Fer");
dataset.addValue(130, "JFreeChart", "Fer");
第二步,使用createMultiplePieChart生成多重报表。
JFreeChart chart = ChartFactory.createMultiplePieChart(
"chart",
dataset,
TableOrder.BY_COLUMN, // 按列分割饼图,addValue中的第三个参数
true,
false,
false
);
图 3.5. 多重报表
TODO:
color
outlines
label
- ››应用程序的配置管理Poco
- ››应用WebSphere MQ V6 来构建企业信息总线的行业示...
- ››应用 Python 解决一些实际问题
- ››应用JScript和XML自定义无刷新多级联动菜单
- ››应用:C/C++获取本机IP地址
- ››报表输出轻松搞定
- ››应用程序开发者偏好苹果也关注Android
- ››应用软件视频会议中的几个常见问题
- ››应用 RSA 实现 EMF 的开发
- ››报表应用系列——图表JFreeChart: 第 1 章 快速开...
- ››报表应用系列——图表JFreeChart: 第 2 章 柱状图...
- ››报表应用系列——图表JFreeChart: 第 3 章 饼状图...
赞助商链接