JFreeChart 是一款强大的 Java 图表库,专为开发者提供了一种简单易用的方式来创建各种复杂的图表,如柱状图、饼图、曲线图和甘特图等。它支持在 Swing 应用程序和 Web 环境中生成自定义图表,是数据可视化的重要工具。以下是对 JFreeChart 的详细介绍,旨在帮助初学者快速掌握其基本用法。
1. **下载与环境配置**
- JFreeChart 是开源项目,可以从官方源码托管平台 SourceForge 下载,最新版本为 1.0.6。
- 下载后,主要关注 `lib` 目录中的 `jfreechart-1.0.6.jar`、`gnujaxp.jar` 和 `jcommon-1.0.10.jar` 这三个核心库文件。
- 如果是在 MyEclipse 等集成开发环境中使用,需要将这些库文件添加到项目的 `WEB-INF/lib` 目录,并在 `web.xml` 中配置 `DisplayChart` servlet,以便于在 Web 中显示图表。
2. **柱状图的创建**
- 创建柱状图是 JFreeChart 最基础的应用之一。你需要创建一个 `DefaultCategoryDataset` 对象,然后添加数据。例如,可以添加四个城市的肉类销量数据:
```
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(610, "广州", "猪肉");
dataset.addValue(220, "广州", "牛肉");
dataset.addValue(530, "广州", "鸡肉");
dataset.addValue(340, "广州", "鱼肉");
```
- 使用 `ChartFactory.createBarChart3D()` 方法生成柱状图,传入图表标题、类别轴标题、值轴标题以及数据集。这里的 `PlotOrientation.VERTICAL` 表示垂直布局的柱状图。
- 调用 `ServletUtilities.saveChartAsPNG()` 方法保存图表为 PNG 图片,然后通过 `DisplayChart` servlet 显示在网页上。
- 在 JSP 页面中,通过 `<img>` 标签引用生成的图表,并设置其宽度和高度。
通过以上步骤,你可以在 Web 应用中创建一个简单的柱状图,展示不同城市的肉类销量。进一步的学习,可以探索 JFreeChart 的其他图表类型,如饼图和曲线图,以及如何自定义图表的颜色、样式、标签等特性,以满足更复杂的数据可视化需求。
饼图的创建类似,可以使用 `ChartFactory.createPieChart()` 或 `ChartFactory.createPieChart3D()` 方法,只需要提供一个 `DefaultPieDataset` 数据集即可。曲线图则可以使用 `ChartFactory.createXYLineChart()`,需要 `XYSeriesCollection` 数据集,其中包含多个 `XYSeries` 来表示数据点。
JFreeChart 还提供了丰富的 API,允许用户对图表进行深度定制,包括添加图例、设置轴的范围、调整颜色、添加数据标签等。此外,还可以通过 `ChartPanel` 类在 Swing 应用中直接显示图表,而不仅仅是生成图片。
JFreeChart 是一个功能全面的 Java 图表库,无论是桌面应用还是 Web 应用,都能轻松实现各种图表的绘制。通过深入学习和实践,开发者可以利用它将数据以直观、美观的方式呈现给用户。