JFreeChart实现柱状图与饼图
需积分: 10 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 创建出符合需求的柱状图和饼图,以及其他类型的图表,以直观地呈现数据。在实际应用中,可以根据具体需求对代码进行调整和扩展,以满足各种复杂的图表需求。
2011-11-11 上传
2015-11-10 上传
2015-12-03 上传
657 浏览量
点击了解资源详情
点击了解资源详情
xht1351549230
- 粉丝: 16
- 资源: 24
最新资源
- MessageBoard:一个用 Ember.js 编写的留言板应用
- abiramen.github.io
- SourceCodeViewer:网页原始码查看器
- 【精品推荐】智慧档案馆大数据智慧档案馆信息化解决方案汇总共5份.zip
- demandanalysis,java源码学习,java源码教学
- pybind11-initialsteps:一些可能对pybind11有用的示例程序
- cv-lin:网页简历原始码
- React-Codeial
- chan65chancleta20:Basi HTML页面
- GGOnItsOwnYo:带有 Yeoman 脚手架的 MEAN 堆栈
- 支持部署动态网站和静态网站
- Shopping,java源码之家,java授权系统
- scottzirkel:在https上找到的个人站点
- chan65chancleta19:Basi HTML页面
- Mihirvijdeshpande
- cure:Cure.js 是 JavaScript Polyfill 的集合,可帮助确保您的项目跨浏览器兼容