`
xsuo
  • 浏览: 123384 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

用jfreechat编写图形化统计数据程序(实例)

阅读更多
用jfreechat编写图形化统计数据程序
寻找ireport图形颜色解决方案时找到的关于jfeechart图形化程序,觉得不错,特意留下来。
jfreechart,到http://www.jfree.org/下载最新的。
一、在web.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>
二、解压下载的jfreechar工具包,将解压后的jfreechar下lib目录中的五个文件复制到你的项目的WEB-INF\lib下。
如下载 jfreechart-1.0.0-rc1.zip
三、创建数据库中的表 test
四、JSP源程序:

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.awt.*" %>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.chart.plot.*" %>

<%@ page import="org.jfree.chart.servlet.ServletUtilities" %>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection" %>
<%@ page import="org.jfree.chart.renderer.category.BarRenderer3D" %>
<%@ page import="org.jfree.data.category.DefaultCategoryDataset" %>

<%@ page import="org.jfree.data.general.DefaultPieDataset" %>

<%@ page import="org.jfree.chart.renderer.category.BarRenderer3D" %>

<html>
<head><title>Jfree图表</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<div align="cente"><P><font size="4" face="楷体_GB2312"><strong><font color="#0099ff">招生统计信息</font></strong></font></p>
</div>

<%
 //设置生成饼状图
    int i=0;
    String[] area={"南京市","镇江市","常州市","无锡市","苏州市","南通市"};
    try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con=DriverManager.getConnection("jdbc:odbc:aaa");
        Statement sql=con.createStatement();
        ResultSet rs=sql.executeQuery("select * from test");
       
        //按地区进行统计
        PrintWriter pw=null;
        DefaultPieDataset dataset=new DefaultPieDataset();
        //设置数据源
        while(rs.next()){
          String dq=rs.getString("dq");

           dataset.setValue(area[i],Integer.parseInt(dq));
         
          //添加数据,参数包括名称和数值
           i++;
        }
        rs.close();
        sql.close();
        con.close();
       
        JFreeChart chart=ChartFactory.createPieChart("饼型图",dataset,true,true,true);
        chart.setTitle("统计图");//设置图片标题
        ChartRenderingInfo info=new ChartRenderingInfo(new StandardEntityCollection());
        String filename=ServletUtilities.saveChartAsJPEG(chart,300,200,info,session);
        //设置生成图片,包括图片的大小,长度是300,宽是200
        //out.println(filename);
       session.setAttribute("file_name1",filename);
        String URL= request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 
        session.setAttribute("file_url1",URL);

        }
        catch(SQLException e){
          out.println(e);
       }
        


%>

<%

 //生成柱状图
        try{
         int j=0;
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         Connection con=DriverManager.getConnection("jdbc:odbc:aaa");
         Statement sql=con.createStatement();
         ResultSet rs=sql.executeQuery("select * from test");
         DefaultCategoryDataset dataset=new DefaultCategoryDataset();//设置数据源



         while(rs.next()){
         dataset.addValue(Integer.parseInt(rs.getString("dq")),"学校",area[j]);
         //添加数据,参数包括名称和数值
         j++;
         }
 
         JFreeChart chart1=ChartFactory.createBarChart3D("统计图","招生地区","招生人数",
dataset,PlotOrientation.VERTICAL,false,false,false); CategoryPlot plot=chart1.getCategoryPlot(); BarRenderer3D renderer1=new BarRenderer3D(); renderer1.setItemLabelsVisible(true);//显示每个柱子上的数据 renderer1.setItemMargin(0.1);//设置每个柱子之间的距离 plot.setRenderer(renderer1);//让上面对柱子的设置生效 String filename=ServletUtilities.saveChartAsJPEG(chart1,300,200,session); //生成图片,包括图片的大小 session.setAttribute("file_name2",filename); String URL=request.getContextPath()+"/servlet/DisplayChart?filename="+filename; session.setAttribute("file_url2",URL); }catch(SQLException e){}
%>
<center><img src="<%=session.getAttribute("file_url1")%>" width=300 height=200 border=0 usemap="#<%=session.getAttribute("file_name1") %>">

<img src="<%=session.getAttribute("file_url2") %>" width=300 height=200 border=0 usemap="#<%=session.getAttribute("file_name2")%>"></center>

</html>

分享到:
评论

相关推荐

    JFreeChat_图形实时无刷新展现数据实例

    Eclipse建立的WEB项目 做的3种 柱状图 带突出的饼图 线性图 的实例效果 柱状图数据采用随机数充当数据(为了看到实时变化的图形效果) 直接导入项目运行即可 http://localhost:8080/JFreechat/index.jsp

    jfreechat 实例

    JFreeChart是一款强大的Java图表库,它为开发者提供了在Java应用程序和Web应用中创建各种静态图表的能力。这个实例包括了两种使用方式:直接生成本地图片和通过Servlet在网页上显示图表。 1. **JFreeChart简介** ...

    JfreeChat 生成树状图,饼状图实例

    总结起来,"JFreeChart 生成树状图,饼状图实例"这篇博客旨在教授如何使用JFreeChart库创建树状图和饼状图,这对于需要进行数据可视化的Java开发者来说是非常实用的资源。学习并实践这些示例,不仅可以提高编程技能...

    jfreechat图形及源码

    jfreechat,此文件包含图形的事例,和源代码的实现,开发人员可以根据图形直接把源码拷贝过来应用

    jfreechat

    jfreechat软件demo

    第三方报表插件jfreechat及itext及实例

    例如,你可以先用JFreeChart生成图表,然后将其嵌入到iText创建的PDF文档中,这样既能利用图表的可视化优势,又能充分利用PDF格式的可打印和可分享特性。 在学习和使用这两个工具时,可以通过实例代码加深理解,...

    JFreeChat基础包

    JFreeChart的主要功能在于其强大的绘图能力,能够生成各种复杂的统计和业务图表,使得数据可视化变得更加直观易懂。 1. **饼图(Pie Chart)**:饼图是最常见的图表类型之一,用于显示各部分在整体中的相对比例。...

    jfreechat的例子

    这个库在IT行业中被广泛使用,尤其在数据分析、报表生成和可视化应用中。标题"jfreechart的例子"表明我们将探讨JFreeChart的实例应用,而描述中的“报表最好的工具”进一步强调了它在报表制作中的价值,特别是对于...

    JFreeChat实例

    总的来说,JFreeChart 提供了强大的图表绘制能力,可以满足各种数据分析和可视化需求。通过调整数据集、渲染器和各种配置选项,你可以创建出符合项目需求的专业图表。不过,需要注意的是,JFreeChart 的学习曲线相对...

    linux jfreechat 终极解决

    在Linux(Ubuntu)环境下,开发或使用Java应用时可能会遇到一些特定的问题,特别是涉及到本地化和字体渲染的部分。本文将详细解析"Linux jfreechat 终极解决"这个主题,包括如何解决JFreeChart在Ubuntu系统下显示为...

    JFreeChat中文教程(入门篇)

    **JFreeChart中文教程(入门篇)...总的来说,JFreeChart是一个强大且灵活的图表库,适合各种Java应用程序中的数据可视化需求。通过学习本教程,你将能够利用JFreeChart创建出专业且吸引人的图表,有效地传达数据信息。

    jspGraphic(浅析web图形报表的实现(struts+jfreechat) )

    JFreeChart是一个用纯Java编写的图表库,支持多种类型的图表,如折线图、柱状图、饼图、散点图等。开发者可以通过设置各种属性来定制图表的样式,包括颜色、字体、标记等,以满足不同场景的需求。此外,JFreeChart还...

    jfreechat 饼图,柱状,折线图示例代码

    "用JFreeChart画统计分析柱状图-JSP编程-华夏名网资讯中心 虚拟主机,域名注册,双线虚拟主机,服务器租赁,为7万用户提供服务.htm"可能是关于如何在JSP中使用JFreeChart创建柱状图的教程,而"用JFreeChart画统计分析...

    jfreechat线性图

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括线性图、饼图、柱状图、散点图...同时,JFreeChart还支持交互式功能,例如点击数据点获取详细信息,这使得它在数据可视化领域有着广泛的应用。

    jfreechat 折线图

    **JFreeChart 折线图详解** 在Java编程中,数据可视化是不可或缺的一部分,而JFreeChart库就是Java中一个强大的图表绘制工具。...理解并掌握JFreeChart的基本使用和自定义技巧,将极大地提升你的数据可视化能力。

    jfreechat所用资源包

    在Java应用程序、Web应用或任何需要展示数据可视化的平台上,JFreeChart是开发者常用的一个工具。**jfreechart-1.0.9** 是这个库的一个特定版本,它包含了实现这些图表功能的所有类和资源。 **JCommon** 是另一个...

    JFreeChat中文API

    JFreeChat中文API,大致方法和说明都有,希望对需要的人有用。

    JFreeChat中文教程(入门篇).rar

    JFreeChat中文教程(入门篇).rar

Global site tag (gtag.js) - Google Analytics