JFreeChart实现柱状图与饼图

需积分: 10 2 下载量 121 浏览量 更新于2024-09-12 收藏 117KB DOCX 举报
"JFreeChart 是一个 Java 库,用于创建各种类型的图表,如柱状图、饼图、线图等。本示例主要关注柱状图(包括普通柱状图和堆栈柱状图)的实现。示例程序需要 jcommon-1.0.17.jar 和 jfreechart-1.0.14.jar 这两个 JAR 包。代码中包含了对图表标题、轴标签、数据集、图例显示、工具提示和 URL 链接的配置,并解决了中文乱码问题。" JFreeChart 是一个强大的 Java 图表库,它允许开发者创建出多种专业级别的图表,适用于数据分析和报告展示。在给定的描述中,我们重点关注柱状图和饼图的生成。 1. **普通柱状图** - `BarChartDemo.java` 文件展示了如何创建一个基本的柱状图。首先,通过 `getDataSet2()` 函数获取数据集,接着使用 `ChartFactory.createBarChart3D()` 方法创建图表。该方法接收五个参数:图表标题、分类轴标签、值轴标签、数据集以及图表方向。 - 图表方向可以是 `PlotOrientation.VERTICAL` 或 `PlotOrientation.HORIZONTAL`,分别表示垂直和水平布局。 - 为了处理中文乱码,代码中修改了图表标题、分类轴和值轴的字体设置,确保它们能够正确显示中文。 2. **堆栈柱状图** - 除了普通的柱状图,JFreeChart 还支持堆栈柱状图,这种图表允许在每个类别上显示多个数据系列,形成堆叠的效果。虽然代码中没有直接展示堆栈柱状图的创建,但可以通过调用 `ChartFactory.createStackedBarChart3D()` 方法来实现。 3. **饼图** - 饼图在 JFreeChart 中通常通过 `ChartFactory.createPieChart()` 或 `ChartFactory.createPieChart3D()` 方法创建。这个方法需要图表标题、数据集和一些可选的布尔值参数,例如是否显示图例和工具提示。 4. **其他图表类型** - JFreeChart 支持的图表类型广泛,包括线图、区域图、分布图、混合图、甘特图和仪表盘。这些图表的创建方式类似,都是通过 `ChartFactory` 类提供的静态方法,传入相应的参数来生成。 5. **自定义图表属性** - 在创建图表后,可以进一步自定义其外观和行为,例如修改轴的标签、调整颜色、设置图例样式、添加工具提示和URL链接等。 6. **运行环境** - 要运行使用 JFreeChart 的程序,需要在项目的 classpath 中包含必要的 JAR 文件,如 jcommon-1.0.17.jar 和 jfreechart-1.0.14.jar。 7. **数据集** - 数据集通常是 `CategoryDataset` 或 `PieDataset` 的实现,用于存储图表的数据。在代码中,`getDataSet2()` 函数应该返回一个填充了数据的 `CategoryDataset` 实例。 通过上述步骤和方法,开发者可以利用 JFreeChart 创建出符合需求的柱状图和饼图,以及其他类型的图表,以直观地呈现数据。在实际应用中,可以根据具体需求对代码进行调整和扩展,以满足各种复杂的图表需求。