JFreeChart学习1 ---饼状图

      JFreeChart输出饼状图示例。[jdk1.6,web项目]

      1。把jcommon-1.0.17.jar,jfreechart-1.0.14.jar放在WEB-INF\lib目录下

      2。编辑web.xml文件。

    <servlet>
  <servlet-name>pieChartServlet</servlet-name>
  <servlet-class>com.pie.chart.PieChartServlet</servlet-class>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>pieChartServlet</servlet-name>
  <url-pattern>/pieChart</url-pattern>
 </servlet-mapping>

       3。编写代码。

           

package com.pie.chart;

import java.awt.Font;
import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class PieChartServlet extends HttpServlet {
 /**
  *
  */
 private static final long serialVersionUID = -7508218541450323029L;

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  resp.setCharacterEncoding("utf-8");
  resp.setContentType("image/png;charset=utf-8");
  PieDataset dataset = this.createPieDataset();
 // PieDataset dataset = null;
  JFreeChart jfreeChart = ChartFactory.createPieChart3D("2012年图书销售统计", dataset, true, true,false);
  //获得图表区域对象
  PiePlot piePlot = (PiePlot) jfreeChart.getPlot();
  //设置标签字体
  piePlot.setLabelFont(new Font("宋体",Font.BOLD,12));
  piePlot.setNoDataMessage("没有显示的数据");
  piePlot.setCircular(false);//设置不是椭圆
  piePlot.setLabelGap(0.02D);
  //输出到页面
  ChartUtilities.writeChartAsPNG(resp.getOutputStream(), jfreeChart, 300, 300);   
  //保存到磁盘文件
  ChartUtilities.saveChartAsPNG(new File("I:\\pieChart.png"), jfreeChart, 300, 300);
 }
 
 private PieDataset createPieDataset() {
  // TODO Auto-generated method stub
  DefaultPieDataset dataset = new DefaultPieDataset();
  dataset.setValue("java", Math.random());
  dataset.setValue("C++", Math.random());
  dataset.setValue("VB", Math.random());
  dataset.setValue("android", Math.random());
  dataset.setValue("iphone", Math.random());
  return dataset;
 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  // TODO Auto-generated method stub
  this.doGet(req, resp);
 }
}

浏览器访问 http://localhost:9080/chart/pieChart 就可以输出饼状图到浏览器,并保存到硬盘。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值