设为首页收藏本站
开启辅助访问
切换到宽版

创星网络[分享知识 传递快乐]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
查看: 4447|回复: 0
打印 上一主题 下一主题

jfreechart使用心得

[复制链接]

我玩的应用:

跳转到指定楼层
楼主
发表于 2012-12-13 20:04:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在SwingWeb等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。
一.             下载与环境配置
1. 下载JFreeChart
JFreeChart是开放源代码的免费软件,主页地址:http://www.jfree.org


说明:1)source目录:为jfreechart的源码目录;
        2)lib目录:为包目录,我们需要关注的包为jfreechart-1.0.6.jar、gnujaxp.jar和jcommon-1.0.10.jar这三个包;
        3)根目录下的jfreechart-1.0.6-demo.jar是例子程序,大家双击后可看到其中有很多例子的运行结果。


2. 环境配置
       笔者的开发环境如下:
       JDK1.5
MyEclipse:5.1.1 GA
Tomcat:5.5.28
为了后续的“用JFreeChart创建基于Web的图表”的一个例子的展示,我们在MyEclipse中创建一个名为jfreechart的Web工程。将下载的JFreeChart1.0.6下lib目录下的jar包拷贝到WebRoot/WEB-INF/lib目录下。另外还需要在web.xml文件中增加如下配置:
  1.           DisplayChart
  2.           org.jfree.chart.servlet.DisplayChart
  3.           DisplayChart
  4.           /DisplayChart.do
复制代码
二.             柱状图
在WebRoot目录下建立bar目录,用来存放柱状图的各个例子。首先在该目录下建立一个sample1.jsp文件,让我们来看一个简单的柱状图的例子,修改后的sample1.jsp的内容如下所示:
  1. <%@ page contentType="text/html;charset=GBK"%><%@ page import="org.jfree.util.PublicCloneable,org.jfree.chart.ChartFactory,org.jfree.chart.JFreeChart,org.jfree.chart.plot.PlotOrientation,org.jfree.chart.servlet.ServletUtilities,org.jfree.data.category.DefaultCategoryDataset"%>
  2. <%@ page import="org.jfree.chart.plot.*,org.jfree.chart.axis.*,org.jfree.chart.plot.dial.*,org.jfree.chart.renderer.*,org.jfree.data.category.*,org.jfree.chart.*,org.jfree.chart.urls.*" %>
  3. <%@ page import="org.jfree.chart.ChartColor" %>
  4. <%@ page import="java.awt.Color,           
  5.                 org.jfree.chart.JFreeChart,               
  6.                 org.jfree.chart.servlet.ServletUtilities,
  7.                 org.jfree.chart.title.TextTitle,
  8.                 java.awt.Font,
  9.                 java.awt.GradientPaint,
  10.                 org.jfree.data.general.DefaultValueDataset,
  11.                 org.jfree.ui.StandardGradientPaintTransformer,
  12.                 org.jfree.ui.GradientPaintTransformType,
  13.                 java.awt.Point            
  14.                 "%><%
  15. DefaultCategoryDataset dataset = new DefaultCategoryDataset();
  16. dataset.addValue(610, "广州", "猪肉");
  17. dataset.addValue(220, "广州", "牛肉");
  18. dataset.addValue(530, "广州", "鸡肉");
  19. dataset.addValue(340, "广州", "鱼肉");
  20. JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图","肉类","销量",dataset,PlotOrientation.VERTICAL,false,false,false);CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象   CategoryAxis domainAxis=plot.getDomainAxis();
  21.     //水平底部列表
  22.     domainAxis.setLabelFont(new Font("黑体",Font.BOLD,14));
  23.     //水平底部标题
  24.     domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12));
  25.     //垂直标题
  26.     ValueAxis rangeAxis=plot.getRangeAxis();//获取柱状
  27.     rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15));
  28. //设置标题
  29. TextTitle txtTitle = null;
  30. txtTitle = chart.getTitle();
  31. txtTitle.setFont(new Font("黑体",Font.BOLD,15));

  32. String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);String graphURL = request.getContextPath() + "/DisplayChart.do?filename=" + filename;
  33. %>
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|创星网络 ( 苏ICP备11027519号|网站地图  

GMT+8, 2024-9-22 05:41 , Processed in 0.082307 second(s), 25 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表