最简单的例子 为了降低门槛,让大家心理有个底,先介绍一个简单的不能再简单的例子,图片中的各类属性都采用默认值。
这个 JSP 程序运行的结果如下图
图一
二、柱状图高级特性
上面的程序简单,但生成的柱状图也很简单。更多的时候,我们可能需要不同的效果。 org.jfree.chart.ChartFactory 这个工厂类有 createBarChart, createStackedBarChart, createBarChart3D, createStackedBarChart3D 这几个工厂方法创建不同类型的柱状图。
关于这四个方法的 JFreeChart 的 Java Doc API 文档有详细说明,比较重要的是 PlotOrientation.VERTICAL 让平行柱垂直显示,而 PlotOrientation.HORIZONTAL 则让平行柱水平显示。
几个对柱状图影响较大的几个类,它们分别是:
org.jfree.chart.axis.CategoryAxis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.renderer.BarRenderer
org.jfree.chart.renderer.BarRenderer3D
我们还是以实例来说明这几个类,先来假设一个需要统计的数据表:
根据上表数据,首先构造 CategoryDataset, 这里不再使用上面简单例子里面的 DefaultCategoryDataset 类,而是 DatasetUtilities 更有效的构造 CategoryDataset,如下列代码:
用上面的 dataset 生成的 3D 柱状图
图二
org.jfree.chart.axis.CategoryAxis
图三
org.jfree.chart.axis.ValueAxis
图四
org.jfree.chart.renderer.BarRenderer3D
上面代码产生的效果如下图,注意与图二的区别。
图五
补充两个有用的方法
补充 org.jfree.chart.plot.CategoryPlot 的两个方法,这两个方法对所有类型的图表都有作用,因为在前面没有介绍,这里补充一下。
图六
三 完整范例
前面都是一些代码片段,现在把这些片段组合成一个完整范例。
看看程序运行的结果吧:
图七
<%@ page contentType= |
这个 JSP 程序运行的结果如下图

二、柱状图高级特性
上面的程序简单,但生成的柱状图也很简单。更多的时候,我们可能需要不同的效果。 org.jfree.chart.ChartFactory 这个工厂类有 createBarChart, createStackedBarChart, createBarChart3D, createStackedBarChart3D 这几个工厂方法创建不同类型的柱状图。
关于这四个方法的 JFreeChart 的 Java Doc API 文档有详细说明,比较重要的是 PlotOrientation.VERTICAL 让平行柱垂直显示,而 PlotOrientation.HORIZONTAL 则让平行柱水平显示。
几个对柱状图影响较大的几个类,它们分别是:
org.jfree.chart.axis.CategoryAxis
org.jfree.chart.axis.ValueAxis
org.jfree.chart.renderer.BarRenderer
org.jfree.chart.renderer.BarRenderer3D
我们还是以实例来说明这几个类,先来假设一个需要统计的数据表:
北京 | 上海 | 广州 | 成都 | 深圳 | |
苹果 | 672 | 766 | 223 | 540 | 126 |
梨子 | 325 | 521 | 210 | 340 | 106 |
葡萄 | 332 | 256 | 523 | 240 | 526 |
根据上表数据,首先构造 CategoryDataset, 这里不再使用上面简单例子里面的 DefaultCategoryDataset 类,而是 DatasetUtilities 更有效的构造 CategoryDataset,如下列代码:
double[][] data = new double[][] |
用上面的 dataset 生成的 3D 柱状图

org.jfree.chart.axis.CategoryAxis
CategoryAxis domainAxis = |

org.jfree.chart.axis.ValueAxis
ValueAxis rangeAxis = plot.getRangeAxis(); |

org.jfree.chart.renderer.BarRenderer3D
BarRenderer3D renderer = |
上面代码产生的效果如下图,注意与图二的区别。

补充两个有用的方法
补充 org.jfree.chart.plot.CategoryPlot 的两个方法,这两个方法对所有类型的图表都有作用,因为在前面没有介绍,这里补充一下。
//设置地区、销量的显示位置 |

三 完整范例
前面都是一些代码片段,现在把这些片段组合成一个完整范例。
<%@ page contentType= |
看看程序运行的结果吧:
