`
- 浏览:
1381773 次
- 性别:
- 来自:
北京
-
public class ChartServlet extends HttpServlet

...{
// 请求处理方法
public void doPost( HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException

...{
// 得到用户的投票信息
String id = request.getParameter( "id" );
IVoteDAO dao = DAOFactory.getVoteDAO();
Vote vote = dao.getVote( id );
// 得到JFreeChart对象的实例
JFreeChart chart = getChart( vote );
// 设置输出对象的类型
response.setContentType( "image/jpeg" );
// 输出图形
ChartUtilities.writeChartAsJPEG( response.getOutputStream(),
100, chart, 400, 300, null);
}
// 请求处理方法
public void doGet( HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException

...{
doPost( request, response );
}

// 得到JFreeChart对象的实例
public static JFreeChart getChart( Vote vote )

...{
JFreeChart chart = null;
// 判断是否为饼图
if( vote.getPictype().indexOf( "PIE" ) == 0 )

...{
// 组织生成饼图的数据
DefaultPieDataset data = new DefaultPieDataset();
Iterator it = vote.getVoteitems().iterator();
while( it.hasNext() )

...{
VoteItem vi = (VoteItem)it.next();
data.setValue( vi.getTitle(), vi.getVotenum() );
}
// 判断是否为普通饼图
if( "PIE".equals( vote.getPictype() ) )

...{
chart = ChartFactory.createPieChart( vote.getTitle(),
data, false, false, false );
}
else // 3D饼图

...{
chart = ChartFactory.createPieChart3D( vote.getTitle(),
data, false, false, false );
}
}
else

...{
// 组织柱状图的数据
DefaultCategoryDataset data = new DefaultCategoryDataset();
Iterator it = vote.getVoteitems().iterator();
while( it.hasNext() )

...{
VoteItem vi = (VoteItem)it.next();
data.addValue( vi.getVotenum(), "选项", vi.getTitle() );
}

// 判断是否为普通柱状图
if( "BAR".equals( vote.getPictype() ) )

...{
chart = ChartFactory.createBarChart( vote.getTitle(),
"选项", "数量", data, PlotOrientation.VERTICAL,
false, false, false );
}
else // 3D柱状图

...{
chart = ChartFactory.createBarChart3D( vote.getTitle(),
"选项", "数量", data, PlotOrientation.VERTICAL,
false, false, false );
}
}
return chart;
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本例子将详细介绍如何利用JFreeChart生成统计图,特别是柱状图和饼图。 首先,我们需要导入JFreeChart库。通常,这涉及到在项目中添加JFreeChart的jar包。在提供的压缩包中,`chartDemo`可能是包含示例代码的Java...
1. **数据准备**:数据是图表的基础,通常需要将数据转化为JFreeChart可理解的数据结构,如`XYSeries`(折线图)、`PieSection`(饼图)或`CategoryDataset`(柱状图)。 2. **图表工厂**:通过`ChartFactory`类...
本项目“Spring+Struts+JFreeChart 自动生成统计图”正是为了解决这样的问题。它结合了三个强大的Java技术框架,使得开发者能够方便地在Web应用中创建动态的、交互式的统计图表。 Spring框架作为核心的依赖注入(DI...
2. **图表生成**:然后,使用JFreeChart的API创建图表对象,根据数据类型选择合适的图表类型,如`CategoryDataset`用于柱状图或线图,`PieDataset`用于饼图。设置图表的标题、轴标签、图例等属性,并使用`...
在描述中提到,我们还会用到JFreeChart库,这是一个用于生成各种图表的Java库,支持多种图表类型,包括柱状图和饼图。JFreeChart的强大之处在于它的灵活性,可以定制图表的颜色、样式、数据标签等各个方面。在本示例...
本篇文章将深入探讨如何使用JFreeChart来实现这些数据统计图。 首先,我们来了解一下JFreeChart库。JFreeChart是Java的一个图形库,它支持多种类型的图表,包括条形图(柱形图)、饼图、线图、散点图、面积图等。它...
JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类", "销量", dataset, PlotOrientation.VERTICAL, false, false, false); String filename = ServletUtilities.saveChartAsPNG...
直方图用于展示数据的分布情况,常用于统计分析。JFreeChart 支持创建标准的直方图,并提供了多种配置选项。 **2.8 区域图** 区域图与折线图类似,但在折线下方填充颜色以更直观地展示数据范围。JFreeChart 的区域...
3. **图表生成**:使用JFreeChart组件根据处理后的数据生成相应的统计图表。 4. **图表展示**:最后,将生成的图表嵌入到JSP页面中,供用户查看。 #### 实现过程详解 1. **环境配置**:搭建Java开发环境,安装并...
JFreeChart是一款开源的Java图表绘制库,能够创建多种类型的图表,包括但不限于饼图、柱状图(普通与堆叠柱状图)、线图、区域图、分布图、混合图、甘特图以及各种仪表盘等。这些图表类型足以满足大多数统计展示的...
JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类", "销量", dataset, PlotOrientation.VERTICAL, false, false, false); String filename = ServletUtilities.saveChartAsPNG...
- **实现方法**:使用 JFreeChart 创建差异图,并进行适当的自定义设置。 **2.10 步进图** - **定义**:一种用于显示数据随时间变化的步进式图表类型。 - **用途**:适用于展示离散时间点上的数据变化。 - **实现...
3. **数据处理**:JFreeChart 可以直接与各种数据结构如数组、集合、数据库结果集等配合使用,方便数据的导入和展示。 4. **高级特性**:支持动态更新图表、动画效果、PDF导出、SVG和PNG图像格式,以及在Swing和...
Java统计图加载包是用于在Java应用程序中创建和展示各种统计图表的工具。这个包主要包含两个关键组件:`jfreechart-1.0.13.jar` 和 `jcommon-1.0.16.jar`。这两个JAR文件是JFreeChart库的一部分,它是一个开源项目,...
2. **柱状图(Bar Chart)**:直观比较不同类别的数值大小,常用于比较各类别的统计结果。 3. **饼图(Pie Chart)**:显示各部分占整体的比例,适合展示部分与整体的关系。 4. **散点图(Scatter Plot)**:通过...
下面将详细讨论如何使用JFreeChart来实现这些统计图表。 首先,柱形图(Bar Chart)是用于比较不同类别的数据量或频率的常见图表。在JFreeChart中,我们可以通过`CategoryDataset`来存储数据,然后使用`...
数据可以通过`addValue()`方法添加,或者使用`DefaultXYDataset`等预设类构造。 - **Renderer**:负责将数据转换为可视化的图形,例如`XYLineAndShapeRenderer`用于线图,`BarRenderer`用于柱状图。可以自定义渲染...
JFreeChart 支持多种图表类型,如折线图、柱状图、饼图、散点图、甘特图等,适用于商业智能、数据分析和统计报告等多个领域。 **JFreeChart 的主要特性** 1. **多样的图表类型**:JFreeChart 提供了多种图表类型,...
JFreeChart是开源的Java类库,它提供了多种图表类型,包括柱状图、饼图、线图、散点图、甘特图等,适用于统计报告、仪表盘、数据分析等多种场景。该库支持自定义颜色、字体、图例、数据标签等,使图表更具个性化和...
**JFreeChart** 是一个非常受欢迎的Java库,主要用于创建高质量的统计图表和图形。它在各种应用程序中广泛使用,包括报表系统、数据分析工具以及GUI应用。这个压缩包包含两个核心的JAR文件:`apiServices.jar` 和 `...