哪位兄弟用jfreechat生成过线状图,请指教 http://blog.csdn.net/gjd111686/archive/2004/07/07/36245.aspx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面我要做的是一个饼状统计图,首先建立javaBean文件文件名:Tryitshow.javapackage com.tryit;import java.io.*;import java.awt.Insets;import java.awt.Font;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Iterator;import java.util.Locale;import java.text.NumberFormat;import javax.servlet.http.HttpSession;import org.jfree.data.*;import org.jfree.chart.*;import org.jfree.chart.axis.*;import org.jfree.chart.renderer.VerticalBarRenderer;import org.jfree.chart.renderer.StandardXYItemRenderer;import org.jfree.chart.plot.*;import org.jfree.chart.entity.*;import org.jfree.chart.tooltips.*;import org.jfree.chart.urls.*;import org.jfree.chart.servlet.*;import org.jfree.chart.TextTitle;import java.net.URL;public class Tryitshow{ public static String generatePieChart(String infoStr, String titles,HttpSession session, PrintWriter pw) { String filename = null; Font font; try { // 建立PieDataSet DefaultPieDataset data = new DefaultPieDataset(); String ss[]=infoStr.split(","); for (int n=0;n<ss.length;n++) { String ssPart[]=ss[n].split("#"); int tt=Integer.parseInt(ssPart[1]); String mm=ssPart[0]; data.setValue(mm,tt); } // 生成chart物件 PiePlot plot = new PiePlot(data); plot.setInsets(new Insets(0, 5, 5, 5)); plot.setToolTipGenerator(new StandardPieToolTipGenerator()); font=new Font("黑体",Font.CENTER_BASELINE,20);//这个地方是设置统计图标题的字体和大小 JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true); TextTitle tt=new TextTitle(titles); tt.setFont(font); chart.setBackgroundPaint(java.awt.Color.white);//统计图片的底色 chart.setTitle(tt); // 把生成的文件写入到临时的目录中 ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);//选择存储成png格式的文件,当然你也可以使用saveChartAsJPEG的方法生成jpg图片 // 把image map 写入到 PrintWriter ChartUtilities.writeImageMap(pw, filename, info); pw.flush(); } catch (Exception ex) { System.out.println("error:"+ex.getMessage()); } return filename; } }接着是jsp文件<%@ page contentType="text/html;charset=gb2312"%><%@ page import = "com.tryit.Tryitshow" %><%@ page import = "java.io.PrintWriter" %><%@ page import = "java.text.SimpleDateFormat" %><%@ page import = "java.text.ParseException" %><%@ page import = "java.util.ArrayList" %><%@ page import = "java.util.Date" %><%@ page import = "java.util.Iterator" %><%@ page import = "java.util.Locale" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><%String filename = Tryitshow.generatePieChart("本科#100,专科#200","人才学历信息统计",session, new PrintWriter(out)); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; %><BODY><img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>"></BODY></HTML>ok,大功告成,当然,你可以采用其他方式,比如你可以把DataSet的数据设置在xml文件中,从xml文件读取统计数据中添加百分比等等,还可以选择生成柱状图、折线图等。jFreeChart还有很多其他的用法,希望大家可以多多交流。web.xml文件的配置<web-app> <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></web-app> 求Extjs用户权限管理 struts 2 如何拦截jsp页面 tomcat 配置web.xml 实现错误页面跳转 的奇怪BUG Tomcat问题 求助 javaBean 取文件真实路径 jsp中调用oracle中的存储结构. struts标签问题 请问怎样获得JSP页面的执行时间 各位大仙帮帮忙看看。 JavaScript如何用选择列表框控制下面的文本框??? 如何制作一个供引用的文件[这个引用文件分成几块]另一个文件可以根据需要引用人一部分。 出现乱码,这是什么原因?
import java.awt.Insets;
import java.awt.Font;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.Locale;
import java.text.NumberFormat;
import javax.servlet.http.HttpSession;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.axis.*;
import org.jfree.chart.renderer.VerticalBarRenderer;
import org.jfree.chart.renderer.StandardXYItemRenderer;
import org.jfree.chart.plot.*;
import org.jfree.chart.entity.*;
import org.jfree.chart.tooltips.*;
import org.jfree.chart.urls.*;
import org.jfree.chart.servlet.*;
import org.jfree.chart.TextTitle;
import java.net.URL;public class Tryitshow
{
public static String generatePieChart(String infoStr, String titles,HttpSession session, PrintWriter pw)
{
String filename = null;
Font font;
try {
// 建立PieDataSet
DefaultPieDataset data = new DefaultPieDataset();
String ss[]=infoStr.split(",");
for (int n=0;n<ss.length;n++)
{
String ssPart[]=ss[n].split("#");
int tt=Integer.parseInt(ssPart[1]);
String mm=ssPart[0];
data.setValue(mm,tt);
}
// 生成chart物件
PiePlot plot = new PiePlot(data);
plot.setInsets(new Insets(0, 5, 5, 5));
plot.setToolTipGenerator(new StandardPieToolTipGenerator());
font=new Font("黑体",Font.CENTER_BASELINE,20);//这个地方是设置统计图标题的字体和大小
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
TextTitle tt=new TextTitle(titles);
tt.setFont(font);
chart.setBackgroundPaint(java.awt.Color.white);//统计图片的底色
chart.setTitle(tt); // 把生成的文件写入到临时的目录中
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
//选择存储成png格式的文件,当然你也可以使用saveChartAsJPEG的方法生成jpg图片 // 把image map 写入到 PrintWriter
ChartUtilities.writeImageMap(pw, filename, info);
pw.flush();
}
catch (Exception ex) {
System.out.println("error:"+ex.getMessage());
}
return filename;
}
}
接着是jsp文件
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import = "com.tryit.Tryitshow" %>
<%@ page import = "java.io.PrintWriter" %>
<%@ page import = "java.text.SimpleDateFormat" %>
<%@ page import = "java.text.ParseException" %>
<%@ page import = "java.util.ArrayList" %>
<%@ page import = "java.util.Date" %>
<%@ page import = "java.util.Iterator" %>
<%@ page import = "java.util.Locale" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<%
String filename = Tryitshow.generatePieChart("本科#100,专科#200","人才学历信息统计",session, new PrintWriter(out)); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
<BODY>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
</BODY>
</HTML>ok,大功告成,当然,你可以采用其他方式,比如你可以把DataSet的数据设置在xml文件中,从xml文件读取
统计数据中添加百分比等等,还可以选择生成柱状图、折线图等。jFreeChart还有很多其他的用法,希望大家可以多多交流。
web.xml文件的配置<web-app>
<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>
</web-app>