点击这里给我发消息 点击这里给我发消息

用JFreeChart增强JSP报表(3)

添加时间:2013-12-7
    相关阅读: 开发 页面 JSP

  四.曲线图

  接着我们来介绍曲线图的使用。在笔者日常的开发工作中,曲线图用得最多,它可以用来绘制趋势图、统计分析等。首先我们在WebRoot下建立一个line目录,用来存放曲线图实例的jsp页面。我们在该目录下建立sample1.jsp页面来做一个简单的曲线图的例子。在开始编码前,让我们来看看与画曲线图密切相关的几个类:

  1) TimeSeriesCollection

  曲线数据的集合。

  2) TimeSeries

  曲线信息序列。

  3) ChartFactory

  可以利用该类的createTimeSeriesChart方法来创建曲线的JFreeChart对象。

  在下例中,我们显示阿蜜果的blog在2007年度各月份的访问量情况,修改后的sample1.jsp的内容如下:

  <%@ page contentType="text/html;charset=GBK"%>

  <%@ page import = "org.jfree.chart.ChartFactory,

  org.jfree.chart.JFreeChart,

  org.jfree.chart.servlet.ServletUtilities,

  org.jfree.chart.title.TextTitle,

  org.jfree.data.time.TimeSeries,

  org.jfree.data.time.Month,

  org.jfree.data.time.TimeSeriesCollection,

  java.awt.Font"%>

  <%

  //访问量统计时间线

  TimeSeries timeSeries = new TimeSeries("阿蜜果blog访问量统计", Month.class);

  //时间曲线数据集合

  TimeSeriesCollection lineDataset = new TimeSeriesCollection();

  //构造数据集合

  timeSeries.add(new Month(1, 2007), 11200);

  timeSeries.add(new Month(2, 2007), 9000);

  timeSeries.add(new Month(3, 2007), 6200);

  timeSeries.add(new Month(4, 2007), 8200);

  timeSeries.add(new Month(5, 2007), 8200);

  timeSeries.add(new Month(6, 2007), 12200);

  timeSeries.add(new Month(7, 2007), 13200);

  timeSeries.add(new Month(8, 2007), 8300);

  timeSeries.add(new Month(9, 2007), 12400);

  timeSeries.add(new Month(10, 2007), 12500);

  timeSeries.add(new Month(11, 2007), 13600);

  timeSeries.add(new Month(12, 2007), 12500);

  lineDataset.addSeries(timeSeries);

  JFreeChart chart = ChartFactory.createTimeSeriesChart("访问量统计时间线", "月份", "访问量", lineDataset, true, true, true);

  //设置子标题

  TextTitle subtitle = new TextTitle("2007年度", new Font("黑体", Font.BOLD, 12));

  chart.addSubtitle(subtitle);

  //设置主标题

  chart.setTitle(new TextTitle("阿蜜果blog访问量统计", new Font("隶书", Font.ITALIC, 15)));

  chart.setAntiAlias(true);

  String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);

  String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;

  %>

  <img src="<%= graphURL %>"width=500 height=300 border=0 usemap="#<%= filename %>">

 

[1] [2] [3] 下一页

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册