`
esffor
  • 浏览: 1363755 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用JFreeChart构造统计图

阅读更多
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, 400300null);
    }

    
    
// 请求处理方法
    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, 
falsefalsefalse );
            }

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

        }

        
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,
                    
falsefalsefalse );
            }

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

        }

        
return chart;
    }

}
 

分享到:
评论

相关推荐

    jfreechart生成统计图的例子(柱线饼)

    本例子将详细介绍如何利用JFreeChart生成统计图,特别是柱状图和饼图。 首先,我们需要导入JFreeChart库。通常,这涉及到在项目中添加JFreeChart的jar包。在提供的压缩包中,`chartDemo`可能是包含示例代码的Java...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    1. **数据准备**:数据是图表的基础,通常需要将数据转化为JFreeChart可理解的数据结构,如`XYSeries`(折线图)、`PieSection`(饼图)或`CategoryDataset`(柱状图)。 2. **图表工厂**:通过`ChartFactory`类...

    Spring+Struts+JFreeChart 自动生成统计图

    本项目“Spring+Struts+JFreeChart 自动生成统计图”正是为了解决这样的问题。它结合了三个强大的Java技术框架,使得开发者能够方便地在Web应用中创建动态的、交互式的统计图表。 Spring框架作为核心的依赖注入(DI...

    Struts2与Jfreechart结合产生报表统计图

    2. **图表生成**:然后,使用JFreeChart的API创建图表对象,根据数据类型选择合适的图表类型,如`CategoryDataset`用于柱状图或线图,`PieDataset`用于饼图。设置图表的标题、轴标签、图例等属性,并使用`...

    Freemarker导出word示例,包括jfreechart图表

    在描述中提到,我们还会用到JFreeChart库,这是一个用于生成各种图表的Java库,支持多种图表类型,包括柱状图和饼图。JFreeChart的强大之处在于它的灵活性,可以定制图表的颜色、样式、数据标签等各个方面。在本示例...

    java实现各种数据统计图

    本篇文章将深入探讨如何使用JFreeChart来实现这些数据统计图。 首先,我们来了解一下JFreeChart库。JFreeChart是Java的一个图形库,它支持多种类型的图表,包括条形图(柱形图)、饼图、线图、散点图、面积图等。它...

    JFreeChart使用教程(中文).pdf

    JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类", "销量", dataset, PlotOrientation.VERTICAL, false, false, false); String filename = ServletUtilities.saveChartAsPNG...

    jfreechart国产数据库支持下Web动态统计图形实现.pdf

    3. **图表生成**:使用JFreeChart组件根据处理后的数据生成相应的统计图表。 4. **图表展示**:最后,将生成的图表嵌入到JSP页面中,供用户查看。 #### 实现过程详解 1. **环境配置**:搭建Java开发环境,安装并...

    jfreechart中文学习文档

    直方图用于展示数据的分布情况,常用于统计分析。JFreeChart 支持创建标准的直方图,并提供了多种配置选项。 **2.8 区域图** 区域图与折线图类似,但在折线下方填充颜色以更直观地展示数据范围。JFreeChart 的区域...

    JFreeChart Java绘图教程(含下载、安装)

    JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类", "销量", dataset, PlotOrientation.VERTICAL, false, false, false); String filename = ServletUtilities.saveChartAsPNG...

    jfreeChart pdf文档(原文)

    - **实现方法**:使用 JFreeChart 创建差异图,并进行适当的自定义设置。 **2.10 步进图** - **定义**:一种用于显示数据随时间变化的步进式图表类型。 - **用途**:适用于展示离散时间点上的数据变化。 - **实现...

    一种基于JFreeChart的Web统计图表.pdf

    JFreeChart是一款开源的Java图表绘制库,能够创建多种类型的图表,包括但不限于饼图、柱状图(普通与堆叠柱状图)、线图、区域图、分布图、混合图、甘特图以及各种仪表盘等。这些图表类型足以满足大多数统计展示的...

    jfreechart-1.0.19

    3. **数据处理**:JFreeChart 可以直接与各种数据结构如数组、集合、数据库结果集等配合使用,方便数据的导入和展示。 4. **高级特性**:支持动态更新图表、动画效果、PDF导出、SVG和PNG图像格式,以及在Swing和...

    java统计图加载包

    Java统计图加载包是用于在Java应用程序中创建和展示各种统计图表的工具。这个包主要包含两个关键组件:`jfreechart-1.0.13.jar` 和 `jcommon-1.0.16.jar`。这两个JAR文件是JFreeChart库的一部分,它是一个开源项目,...

    JFreeChart绘图包

    2. **柱状图(Bar Chart)**:直观比较不同类别的数值大小,常用于比较各类别的统计结果。 3. **饼图(Pie Chart)**:显示各部分占整体的比例,适合展示部分与整体的关系。 4. **散点图(Scatter Plot)**:通过...

    java实现各种数据统计图(柱形图,饼图,折线图).zip

    下面将详细讨论如何使用JFreeChart来实现这些统计图表。 首先,柱形图(Bar Chart)是用于比较不同类别的数据量或频率的常见图表。在JFreeChart中,我们可以通过`CategoryDataset`来存储数据,然后使用`...

    JFreeChart API 中文文档

    数据可以通过`addValue()`方法添加,或者使用`DefaultXYDataset`等预设类构造。 - **Renderer**:负责将数据转换为可视化的图形,例如`XYLineAndShapeRenderer`用于线图,`BarRenderer`用于柱状图。可以自定义渲染...

    jfreechart的jar包

    JFreeChart 支持多种图表类型,如折线图、柱状图、饼图、散点图、甘特图等,适用于商业智能、数据分析和统计报告等多个领域。 **JFreeChart 的主要特性** 1. **多样的图表类型**:JFreeChart 提供了多种图表类型,...

    jfreechart图片报表.rar

    JFreeChart是开源的Java类库,它提供了多种图表类型,包括柱状图、饼图、线图、散点图、甘特图等,适用于统计报告、仪表盘、数据分析等多种场景。该库支持自定义颜色、字体、图例、数据标签等,使图表更具个性化和...

    jfreechart相关价包

    **JFreeChart** 是一个非常受欢迎的Java库,主要用于创建高质量的统计图表和图形。它在各种应用程序中广泛使用,包括报表系统、数据分析工具以及GUI应用。这个压缩包包含两个核心的JAR文件:`apiServices.jar` 和 `...

Global site tag (gtag.js) - Google Analytics