`

JavaWeb图形报表折线图

阅读更多

步骤说明:
1,导入log4j.jar,jfreechart-0.9.18.jar,jdom.jar,jcommon-0.9.3.jar四个jar包

2,在某个包中写入Tuxin.java类

package com.mengya.util;

import java.awt.Color;
import java.awt.Font;
import java.io.PrintWriter;

import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardLegend;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.LineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.DefaultCategoryDataset;

public class Line
{
   private DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    
   public void setValue(int sum, String line, String wfield)
   {
  
     dataset.addValue(sum, line, wfield);
    
   }
  
   public String generateLineChart(String title,String wfield, String hfield, HttpSession session, PrintWriter pw,int wPhoto,int hPhoto)
    {
     String filename = null;
   
    try
     {
         final JFreeChart chart = ChartFactory.createLineChart
           (
              title, // 图表标题
              wfield, // 横轴的显示标签
              hfield, // 纵轴的显示标签
              dataset, //数据集
              PlotOrientation.VERTICAL, // 图表方向:水平、垂直
              true, // 是否显示图例
              true, // 是否生成提示工具 tooltips
              false // 是否生成URL链接
         );
         StandardLegend legend = (StandardLegend) chart.getLegend();//生成图例
         legend.setDisplaySeriesShapes(true);//显示图例形状
         legend.setShapeScaleX(1.5);//设置图例X轴的大小
         legend.setShapeScaleY(1.5);//设置图例Y轴的大小
         legend.setDisplaySeriesLines(true);//显示图示项的横线
         //设置图片的背景色
         chart.setBackgroundPaint(new java.awt.Color(189,235,255));

         CategoryPlot plot = (CategoryPlot) chart.getPlot();
         plot.setBackgroundPaint(new Color(239,251,255));//生成图片中墙体的背景色
         plot.setRangeGridlinePaint(Color.black);//生成图片中格子线的颜色
        
         // 没有数据时显示的消息
         plot.setNoDataMessage("没有相关统计数据"); 
         plot.setNoDataMessageFont(new Font("黑体", Font.CENTER_BASELINE, 16));
         plot.setNoDataMessagePaint(Color.RED);
        
         NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
         rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());//设置图中的刻度线的单位
         rangeAxis.setAutoRangeIncludesZero(true);//强制在自动选择的数据范围中包含0
        
         LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
         renderer.setDrawShapes(true);//折线的数据点根据分类使用不同的形状
         renderer.setItemLabelsVisible(true);//显示每个点上的数据值的提示工具,数据标签是否可见
        
        
         ChartRenderingInfo info = new ChartRenderingInfo(new
              StandardEntityCollection());
          //500是图片长度,300是图片高度
          filename = ServletUtilities.saveChartAsPNG(chart, wPhoto, hPhoto, info, session);
          ChartUtilities.writeImageMap(pw, filename, info);
          pw.flush();
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
     return filename;
    }
}

3,配置web.xml,在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>/DisplayChart</url-pattern>
 </servlet-mapping>

 

4,在要显示图片的jsp中添加内容:
  <%@ page language="java" import="java.util.*,com.mengya.util.Line,com.mengya.bean.StuBean" pageEncoding="gbk"%>
<%@page import="java.io.PrintWriter;"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>折线图</title>
 </head>

 <body>
  <%
   Line tt = new Line();
   //第一条折线
   List ar = (ArrayList) request.getAttribute("arr1");
   for (int i = 0; i < ar.size(); i++) {
    StuBean bean = (StuBean) ar.get(i);
    tt.setValue((int) bean.getS_money(), "张明学个人消费比例图", bean.getS_month()+ "");
   }
   
   //条二条折线
   ar = (ArrayList) request.getAttribute("arr2");
   for (int i = 0; i < ar.size(); i++) {
    StuBean bean = (StuBean) ar.get(i);
    tt.setValue((int) bean.getS_money(), "梦娅个人消费比例图", bean.getS_month()+ "");
   }
   
   //说明:tt.setValue(int a,String b,String c)
   //其中的第二个参数b是该条折线的名字,每条折线的名字最好不要一样.
   
   String filename = tt.generateLineChart("个人消费比例图", "月      份",
     "费      用", session, new PrintWriter(out), 800, 550);

   String graphURL = request.getContextPath()
     + "/DisplayChart?filename=" + filename;
  %>
  <P ALIGN="CENTER">
  <img src="<%=graphURL %>" width=800 height=550 border=1 usemap="#<%=filename%>">
 </body>
</html>

  • 多条折线图.rar (2.1 MB)
  • 描述: 我的JavaWeb图形报表折线图实例
  • 下载次数: 282
分享到:
评论
1 楼 yanchunlm 2011-04-01  
请问用这种办法生成的图表怎样导出到excel中?

相关推荐

    JavaWeb图形报表柱状图

    在这个JavaWeb图形报表柱状图实例中,我们将深入探讨如何利用Java和相关工具来创建柱状图。 首先,要生成柱状图,我们需要一个库来帮助我们处理图形。Java社区中有许多优秀的图表库,例如JFreeChart和ECharts。本例...

    JavaWeb实现图形报表折线图的方法

    在JavaWeb开发中,生成图形报表是常见的需求,特别是折线图,它能直观地展示数据的变化趋势。本文将详细讲解如何使用JavaWeb技术来创建一个折线图报表。 首先,实现折线图报表需要引入相关的库。在这个案例中,我们...

    javaweb项目报表案例

    JavaWeb项目报表案例是将数据以图形化或表格形式展示在Web应用中的实践示例,主要涉及的技术点包括JavaWeb开发、JFreeChart插件的使用以及报表设计。在这个案例中,我们将深入探讨如何利用JavaWeb技术和JFreeChart库...

    Java中图形化报表实例

    图形化报表则进一步将数据以图形的形式展示,如柱状图、饼图、折线图等,使得数据趋势和关系一目了然。在JavaWeb环境中,这种报表通常用于后台管理系统,帮助管理者监控业务指标、分析数据变化。 实现JavaWeb中的...

    动态折线图

    动态折线图是一种数据可视化工具,它以时间序列为基础,通过连续的线条描绘数值变化的过程,从而展现数据随时间的变化趋势。在IT行业中,动态折线图被广泛应用于数据分析、监控系统、金融图表以及各种仪表板中,因为...

    javaweb开源报表JFreeChart详解

    javaweb,开源,报表,JFreeChart,详解

    javaweb课程设计项目图书购物网站系统源代码.zip

    javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书购物系统。javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书购物系统。javaweb课程设计图书购物网站源代码。基于JSP和MySQL的网上图书...

    JavaWeb报表开发

    图片在报表中通常用于呈现数据可视化,例如折线图、柱状图、饼图等。JavaWeb报表工具通常内置了图形库,如JFreeChart,可以方便地生成这些图表,并嵌入到报表中。 在实际项目中,报表的动态生成是关键。这通常涉及...

    JavaWeb开发技术方案宝典--报表打印方案(报表打印方案要点代码)

    在JavaWeb开发中,报表打印是一项关键任务,它涉及到数据的可视化展示以及用户对数据的交互。本方案宝典着重探讨了如何在JavaEE环境中高效地实现报表打印,旨在为开发者提供一系列实用的技术选择和最佳实践。以下是...

    不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书馆管理系统.rar

    不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书馆管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书馆管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:图书...

    JavaWeb知识结构图

    JavaWeb知识结构图,是帮助我们学习JAVA的一种方向。

    基于JavaWeb的学院图书借阅系统

    基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅系统基于JavaWeb的学院图书借阅...

    javaReport java报表 图形 java office 开发 软件 1

    用于开发JAVA报表,javaweb图形,及开发如office这样办公软件的最佳选着。。 并开放其源码。。。由于软件太大故分为两部分。。

    javaWEB项目——在线图书馆管理系统

    利用javaweb技术采用MVC模式开发的在线图书馆管理系统 整个项目采用myeclipse软件开发,该项目可以直接运行在Tomcat服务器上。 1.项目分别利用jsp显示用户查询前端页面及其管理员对图书的增删改查(CURD)功能界面。...

    JavaWeb报表制作与管理(源代码+文档)

    JavaWeb报表制作与管理是企业级应用中常见的一项任务,涉及到数据处理、用户交互和后台服务等多个方面。在这个项目中,我们使用了SpringMVC、Spring、MyBatis以及MySQL等核心技术,构建了一个功能完善的报表系统。接...

    Javaweb实现的优优图书商城源码

    Javaweb实现的优优图书商城源码 主要功能介绍: 用户注册、登录、个人信息管理、通过邮件找回密码 图书搜索、购买、在线浏览,购物车管理 后台echart图表显示、源代码在线编辑 主要技术: 数据库 : mysql 后台...

    基于javaweb的图书馆查询系统.zip_javaweb_javaweb_前端_javaweb前端_javaweb图书查询_基

    《基于JavaWeb的图书馆查询系统详解》 JavaWeb技术在当今的互联网开发中扮演着重要的角色,尤其在构建企业级应用方面,它以其强大的稳定性和灵活性受到广大开发者的青睐。本篇文章将深入探讨一个基于JavaWeb的图书...

    javaweb图书馆管理系统项目源码.zip

    javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目...

    JavaWeb11-图片验证码.rar

    JSP+servlet+javabean学习 ...JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar JavaWeb09-EL与JSTL.rar JavaWeb10-分页应用.rar JavaWeb11-图片验证码.rar JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar

Global site tag (gtag.js) - Google Analytics