jfreechart配置与入门例子

14 views
Skip to first unread message

singba

unread,
Feb 2, 2007, 3:34:23 AM2/2/07
to JSF/AJAX技术讨论
web开发:

1。jfreechart-1.0.3.jar
jcommon-1.0.6.jar、
gnujaxp.jar
三个jar copy 到web-inf/lib下

2。在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>/servlet/DisplayChart</url-pattern>
</servlet-mapping>

添加时要注意位置

3。第一个例子
package com.bjhanmi.dashboard.ui;

/**
* Description:This application is the first jfreechart
* authort:qihl
* Datetime:2007-02-01
*/

import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.data.general.DefaultPieDataset;

public class ChartTest {
public ChartTest() {
}

public static void main(String[] args){
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员",25);
dpd.setValue("市场人员",25);
dpd.setValue("开发人员",45);
dpd.setValue("其他人员",5);

//Create JFreeChart object
//参数可以查看源码
JFreeChart pieChart = ChartFactory.createPieChart("CityInfoPort公司组织
架构图",dpd,true,true,false);
ChartFrame pieFrame = new ChartFrame("CityInfoPort公司组织架构
图",pieChart);
pieFrame.pack();
pieFrame.setVisible(true);
}
}

singba

unread,
Feb 2, 2007, 4:20:20 AM2/2/07
to JSF/AJAX技术讨论

<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.awt.*, java.text.*, java.util.*" %>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.chart.axis.*" %>
<%@ page
import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator" %>
<%@ page import="org.jfree.chart.plot.*" %>
<%@ page import="org.jfree.chart.renderer.*" %>
<%@ page import="org.jfree.chart.servlet.ServletUtilities" %>
<%@ page import="org.jfree.data.category.DefaultCategoryDataset" %>
<%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="org.jfree.chart.renderer.category.BarRenderer3D" %>
<%

DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员",25);
dpd.setValue("市场人员",25);
dpd.setValue("开发人员",45);
dpd.setValue("其他人员",5);

//Create JFreeChart object
//参数可以查看源码
JFreeChart pieChart = ChartFactory.createPieChart("CityInfoPort公司组织
架构图",dpd,true,true,false);

String filename = ServletUtilities.saveChartAsPNG(pieChart, 300, 280,
null, session);
System.out.println("得到filename="+filename);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?
filename=" + filename;
System.out.println("得到graphURL="+graphURL);
%>
<html>
<body topmargin="5" leftmargin="5" rightmargin="0">
<div style="font-size:18pt; font-family:verdana; font-weight:bold">
3D Bar Chart
</div>
<br>
<img src="<%= graphURL %>" border=0>
</body>
</html>

singba

unread,
Feb 5, 2007, 2:14:22 AM2/5/07
to JSF/AJAX技术讨论
在web.xml里加入<servlet>
<servlet-name>ChartServletDemo</servlet-name>
<servlet-
class>org.jfree.chart.servlet.ChartServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChartServletDemo</servlet-name>
<url-pattern>/servlet/ChartServletDemo</url-
pattern>
</servlet-mapping>
后,再启动tomcat,运行程序,
出现错误:ParserUtils: warning org.xml.sax.SAXParseException: URI was not
reported to parser for entity [document]
ie页面出现 servlet is avliable的错误,很着急,谁能解决一下


只要导入jcommon.jar和jfreechart.jar,另外的包不要导入

singba

unread,
Feb 5, 2007, 5:02:22 AM2/5/07
to JSF/AJAX技术讨论
JFreeChart 不同版本之间差别非常大,很多方法在不同的版本里完全不一样,哪怕版本差别只有0.01也会有很大不同.

饼图:当需要在一张图里出现多个饼时,要使用 CategoryDataset.

Reply all
Reply to author
Forward
0 new messages