`

JavaWeb图形报表柱状图

阅读更多

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

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

package com.mengya.util;

import java.awt.Color;
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.axis.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.BarRenderer3D;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.DefaultCategoryDataset;


public class BarChart {

 private DefaultCategoryDataset dataset = new DefaultCategoryDataset();

 public void setValue(int value, String rowKey, String columnKey) {
  dataset.setValue(value, rowKey, columnKey);
 }

 public String generateBarChart(String title, HttpSession session,PrintWriter pw,int width,int heigth) {
  String filename = null;
  try {
   JFreeChart chart = ChartFactory
     .createBarChart3D(title, null, null, dataset,
       PlotOrientation.VERTICAL, true, false, false);
   chart.setBackgroundPaint(Color.WHITE);
   CategoryPlot plot = chart.getCategoryPlot();

   CategoryAxis domainAxis = plot.getDomainAxis();
   //domainAxis.setVerticalCategoryLabels(false);
   
   plot.setDomainAxis(domainAxis);

   ValueAxis rangeAxis = plot.getRangeAxis();
   // 设置最高的一个 Item 与图片顶端的距离
   rangeAxis.setUpperMargin(0.15);
   // 设置最低的一个 Item 与图片底端的距离
   rangeAxis.setLowerMargin(0.15);
   plot.setRangeAxis(rangeAxis);

   BarRenderer3D renderer = new BarRenderer3D();
   renderer.setBaseOutlinePaint(Color.BLACK);
   // 设置 Wall 的颜色
   renderer.setWallPaint(Color.gray);
   // 设置每种水果代表的柱的颜色
   renderer.setSeriesPaint(0, new Color(0, 0, 255));
   renderer.setSeriesPaint(1, new Color(0, 100, 255));
   renderer.setSeriesPaint(2, Color.GREEN);
   // 设置每个地区所包含的平行柱的之间距离
   renderer.setItemMargin(0.1);
   // 显示每个柱的数值,并修改该数值的字体属性
   //renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
   
   renderer.setItemLabelsVisible(true);
   plot.setRenderer(renderer);

   // 设置柱的透明度
   plot.setForegroundAlpha(0.6f);
   // 设置地区、销量的显示位置
   plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
   plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
   
   ChartRenderingInfo info = new ChartRenderingInfo(
     new StandardEntityCollection());
   filename = ServletUtilities.saveChartAsPNG(chart, width, heigth,
     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.BarChart"
 pageEncoding="gbk"%>
<%@ page import="java.io.PrintWriter"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>柱形图</title>
 </head>

 <body>
  <%
   BarChart bch = new BarChart();

   //double[] data = { 85, 156, 179.5, 211, 123 };
   //String[] labels = { "Mon", "Tue", "Wed", "Thu", "Fri" };
   //for (int i = 0; i < data.length; i++) {
   // bch.setValue((int) data[i], "张明学", labels[i]);
   //}
   
   //第一组
   bch.setValue(200,"苹果","武汉");
   bch.setValue(400,"香蕉","武汉");
   bch.setValue(500,"橘子","武汉");
   bch.setValue(300,"梨子","武汉");
   
   //第二组
   bch.setValue(400,"苹果","黄冈");
   bch.setValue(300,"香蕉","黄冈");
   bch.setValue(100,"橘子","黄冈");
   bch.setValue(300,"梨子","黄冈");
   
   //第三组
   bch.setValue(600,"苹果","A");
   bch.setValue(300,"香蕉","A");
   bch.setValue(400,"橘子","A");
   bch.setValue(200,"梨子","A");
           
   //说明:bch.setValue(int a,String b,String c)其中参数c是该组的名字。最组的名字最好是不一样的!
   
   String filename = bch.generateBarChart("水果比图", session,
     new PrintWriter(out),700,500);
   String url = request.getContextPath() + "/DisplayChart?filename="
     + filename;
  %>
  <table align="center" border="0">
   <tr>
    <td>
     <P ALIGN="CENTER">
      <img src="<%=url%>" width=700 height=500 border=1
       usemap="#<%=filename%>">
     </p>
    </td>
   </tr>
  </table>
 </body>
</html>

  • 柱状图.rar (1.6 MB)
  • 描述: 我的JavaWeb图形报表柱状图实例
  • 下载次数: 107
分享到:
评论

相关推荐

    javaweb柱状图

    在JavaWeb开发中,柱状图常用于数据分析、报表展示以及用户界面的交互设计。 生成柱状图的方法有很多种,常见的有利用JavaScript库(如Highcharts、ECharts等)、SVG(Scalable Vector Graphics)或者通过Java后端...

    javaweb项目报表案例

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

    利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示

    “利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示”这个标题表明我们将探讨如何使用JFreeChart库来创建各种类型的图表,如饼状图和柱状图,并且这些图表能够在JavaServer Pages (JSP) 中展示。...

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

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

    Java中图形化报表实例

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

    javaweb开源报表JFreeChart详解

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

    JSP调用Java Bean在网页上动态生成柱状图

    --------------------------------------------------我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用Java Bean在网页上动态生成柱状图....

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

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

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

Global site tag (gtag.js) - Google Analytics