使用JFreeChart在JSP中绘制折线图教程
需积分: 10 77 浏览量
更新于2024-09-09
收藏 48KB DOC 举报
"这篇文档主要介绍了如何在JSP页面中使用JFreeChart库来创建并显示折线图,包括柱状图的创建过程,并提供了相关的代码示例。"
JFreeChart是一个强大的Java图表库,它允许开发者在Java应用程序、Swing组件、Applet或Web应用(如JSP)中生成各种高质量的图表。以下将详细讲解如何利用JFreeChart在JSP页面上实现折线图,特别是一个柱状图的创建步骤。
首先,你需要确保引入了JFreeChart所需的库。这包括三个JAR文件:
1. jcommon-1.0.15.jar:这是JFreeChart的基础库,包含了一些基础的图形和数据处理类。
2. jfreechart-1.0.12.jar:这是JFreeChart的主要库,包含了各种图表的生成和定制功能。
3. jfreechart-1.0.12-experimental.jar:这个库包含了一些实验性的图表类型和特性。
接下来,为了能在Web应用中展示图表,我们需要在`web.xml`配置文件中注册一个名为`DisplayChart`的Servlet。这个Servlet由JFreeChart提供,用于处理图表的显示请求。在`web.xml`中添加以下内容:
```xml
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
```
在JSP或Servlet中,你可以创建柱状图并保存为PNG图像,然后通过HTTP请求获取这个图像。以下是一个简单的示例:
1. 创建数据集:`DefaultCategoryDataset`是JFreeChart提供的一种数据集类型,可以用来存储分类数据。你可以根据实际需求填充数据。
```java
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
// 假设有一个名为list的列表,其中包含Item对象,我们需要将这些数据填入数据集中
for (int i = 0; i < list.size(); i++) {
Item item = (Item) list.get(i);
dataSet.setValue(item.getRating(), "testName", item.getTime());
}
```
2. 创建柱状图:`ChartFactory.createBarChart()`方法用于生成柱状图,参数依次是图表标题、类别轴标签、值轴标签、数据集、图例是否垂直排列、工具提示是否开启以及URL链接是否启用。
```java
JFreeChart chart = ChartFactory.createBarChart(
"统计图", // 图表标题
"ratings", // 分类轴标签
"time", // 值轴标签
dataSet, // 数据集
PlotOrientation.VERTICAL, // 图形方向(竖直)
false, // 是否显示图例
true, // 是否显示工具提示
false // 是否生成URL链接
);
```
3. 保存并获取图像URL:`ServletUtilities.saveChartAsPNG()`方法用于将图表保存为PNG图片,返回的字符串是保存的文件名。然后你可以构建一个指向Servlet的URL,用于在JSP页面中显示图表。
```java
try {
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
request.setAttribute("graphURL", graphURL);
} catch (Exception e) {
// 处理异常
}
```
最后,在JSP页面中,通过`<img>`标签引入刚刚创建的图表:
```html
<img src="<%=request.getAttribute("graphURL")%>">
```
通过以上步骤,你就能在JSP页面上成功显示由JFreeChart生成的柱状图。记得根据实际项目需求调整代码,例如数据源的获取、图表样式和配置等。JFreeChart库提供了丰富的定制选项,可以根据需要进行深入学习和应用。
2013-10-30 上传
2019-01-18 上传
2019-03-19 上传
2019-08-02 上传
2020-09-03 上传
2023-09-19 上传
2013-04-28 上传
2020-10-22 上传
慢慢非
- 粉丝: 1
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍