现在的位置: 首页 > 综合 > 正文

JFreeChart初体验

2018年05月09日 ⁄ 综合 ⁄ 共 2277字 ⁄ 字号 评论关闭

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。如此好用的东西,我就想试一把。

1、去JFreeChart官网上下载jfreechart-1.0.14包,解压缩后找到lib目录,里面有好多jar包,其中jfreechart-1.0.14.jar、jcommon-1.0.17.jar是两个基础包必须导入到项目中去,至于网上上的gnujaxp.jar这个包,如果导入这个包的会出现文中后面说的错误。不知道为什么有些人说这个包也是必须包,我用的时候根本就没有导入这个包还不是照样用啊。

2、新建一个web工程,然后新建一个show.jsp页面,show.jsp页面的代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="gbk" contentType="text/html; charset=gbk"%>
<%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="org.jfree.chart.JFreeChart"%>
<%@ page import="org.jfree.chart.ChartUtilities" %>
<%@ page import="org.jfree.chart.plot.PiePlot"%>
<%@ page import="org.jfree.chart.ChartRenderingInfo"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
//创建一个数据集对象
DefaultPieDataset data = new DefaultPieDataset();
//设置数据集对象中的数据
data.setValue("六月",500);
data.setValue("七月",580);
data.setValue("八月",828); 

PiePlot plot = new PiePlot(data);
//创建一个饼状图对象
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT,plot, true);
//设置报表标题
chart.setTitle("JFreeChart测试");
//可选,设置图片标题
chart.setBackgroundPaint(java.awt.Color.white);

ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
//500是图片长度,300是图片高度
String filename =ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);

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


%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>"> 
    <title>JfreeChart生成饼状图</title>
  </head>
  JfreeChart生成饼状图例子
<P ALIGN="CENTER">
<img src="<%=url%>" >
</P>
  </body>
</html>

 但是很遗憾的事情是,我并没有看到我的饼状图啊!不知道为什么!我自己也在寻求高人指点。哎

 

文章开头说的如果导入gnujaxp.jar包出现如下错误:1、org.xml.sax.SAXParseException:   URI   was   not   reported   to   parser   for   entity   [document]

2、org.xml.sax.SAXParseException:   No   base   URI;   hope   URI   is   absolute:  http://www.springframework.org/dtd/spring-beans.dtd

等等以上错误的话,果断把gnujaxp.jar包给干掉啊!干掉这个包就解决了上面的问题啊。

抱歉!评论已关闭.