JfreeChart作好的饼图

网辉 @ 2005-01-19 17:26


饼图 pie.jsp
3D饼图 pie3d.jsp


饼图 pie.jsp



<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.data.DefaultPieDataset,java.awt.Font"%>
<%@ page import="org.jfree.chart.JFreeChart"%>
<%@ page import="org.jfree.chart.axis.CategoryAxis"%>
<%@ page import="org.jfree.chart.axis.ValueAxis"%>
<%@ page import="org.jfree.chart.StandardLegend"%>
<%@ page import="org.jfree.chart.plot.PiePlot"%>
<%@ page import="org.jfree.chart.plot.CategoryPlot"%>
<%@ 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"%>

<%

DefaultPieDataset data = new DefaultPieDataset();
data.setValue("一支队",1000);
data.setValue("二支队",880);
data.setValue("三支队",728);
data.setValue("四支队",608);
data.setValue("五支队",1238);
data.setValue("六支队",1238);
PiePlot plot = new PiePlot(data);
Font DEFAULT_TITLE_FONT = new Font("黑体", Font.BOLD, 18);
JFreeChart chart = new JFreeChart("",DEFAULT_TITLE_FONT, plot, true);
Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);
StandardLegend legend = (StandardLegend) chart.getLegend();
legend.setItemFont(font);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("查处客运车辆违法行为分析图");//可选,设置图片标题
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<HTML>
<HEAD>

</HEAD>
<BODY>
<P ALIGN="CENTER">
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename

%>">
</P>
</BODY>
</HTML>



3D饼图 pie3d.jsp



<%@ page contentType="text/html;charset=GBK"%>
<%@ page import = "org.jfree.chart.ChartFactory,
                  org.jfree.chart.ChartPanel,
                  org.jfree.chart.JFreeChart,
                  org.jfree.chart.StandardLegend,
                  org.jfree.chart.axis.NumberAxis,
  org.jfree.chart.plot.CategoryPlot,
  org.jfree.chart.plot.PlotOrientation,
  org.jfree.chart.renderer.LineAndShapeRenderer,
  org.jfree.chart.servlet.ServletUtilities,
  java.awt.Color,
  org.jfree.chart.plot.PiePlot3D,
  org.jfree.data.DefaultPieDataset,
  org.jfree.data.PieDataset
"%>

<%
 DefaultPieDataset result = new DefaultPieDataset();
       result.setValue("Java", new Double(43.2));
       result.setValue("Visual Basic", new Double(10.0));
       result.setValue("C/C++", new Double(17.5));
       result.setValue("PHP", new Double(32.5));
       result.setValue("Perl", new Double(0.0));
JFreeChart chart = ChartFactory.createPieChart3D(
           "Pie Chart 3D Demo 1",  // chart title
           result,                // data
           true,                   // include legend
           true,
           false
       );

       // set the background color for the chart...
       chart.setBackgroundPaint(Color.yellow);
       PiePlot3D plot = (PiePlot3D) chart.getPlot();
       plot.setStartAngle(270);
      // plot.setDirection(Rotation.CLOCKWISE);
       plot.setForegroundAlpha(0.5f);
       plot.setNoDataMessage("No data to display");
      
 
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 %>">



注意以上代码,均在:jfreechart-0.9.20.jar、jcommon-0.9.5.jar下调试通过!

web.xml配置servlet代码:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<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>/DisplayChart</url-pattern>
   </servlet-mapping>
</web-app>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值