当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

JFreeChart中的饼形图

发表于: 2015-04-19   作者:357029540   来源:转载   浏览:
摘要: 在Servlet中的代码: package com.lyb.pic; import java.awt.Color; import java.awt.Font; import java.awt.Paint; import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.serv
在Servlet中的代码:

package com.lyb.pic;

import java.awt.Color;
import java.awt.Font;
import java.awt.Paint;
import java.io.IOException;

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.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class Pie extends HttpServlet {


private static final long serialVersionUID =-8595833690404444349L;
public void doGet(HttpServletRequestrequest,HttpServletResponse response) throws IOException {
  doPost(request,response);
}
public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws IOException {
  //设置返回样式
  response.setContentType("image/png");
  response.setCharacterEncoding("utf-8");
  //获取数据集
  PieDataset pie =createPieDataset();
  //创建图形界面
  JFreeChart jfc =ChartFactory.createPieChart3D("我的书籍组成", pie, true, true,false);
  //设置标题的字体,为了防止中文乱码
  TextTitle tt = newTextTitle("我的书籍组成");
  tt.setFont(new Font("宋体",Font.BOLD, 15));
  jfc.setTitle(tt);
   //设置图例的字体,为了防止中文乱码
  jfc.getLegend().setItemFont(newFont("宋体", Font.BOLD, 15));
  //获得图表区域对象
  PiePlot plot =(PiePlot)jfc.getPlot();
  //设置图表区域分类标签字体大小,为了防止中文乱码
  plot.setLabelFont(newFont("宋体", Font.BOLD, 12));
  //设置分类标签字体的颜色
  Paint paint = newColor(24,127,220);
  plot.setLabelPaint(paint);
  //设置图表区域无数据时的默认值
  plot.setNoDataMessage("没有此书籍");
  //指定显示的饼图上圆形(false)还椭圆形(true)
  plot.setCircular(false);
  //设置图表区域文字与图表区域之间的间隔,0.05表示5%
  plot.setLabelGap(0.05);
  //将图表以数据流的方式返回给
  ChartUtilities.writeChartAsPNG(response.getOutputStream(),jfc, 800, 500);
}
public static PieDataset createPieDataset(){
  //创建饼型图所需数据
  DefaultPieDataset dpd = newDefaultPieDataset();
  dpd.setValue("java",DataUtils.getNumber());
  dpd.setValue("c++",DataUtils.getNumber());
  dpd.setValue("php",DataUtils.getNumber());
  dpd.setValue("动画",DataUtils.getNumber()); 
  return dpd;
}
}

生成的假数据代码:

package com.lyb.pic;

import java.util.Random;

public class DataUtils {

private static Random random = newRandom();
private static final int NUMBER = 100;
public static int getNumber() {
  returnrandom.nextInt(NUMBER);
}
}



xml中的代码:
<servlet>

<servlet-name>pie</servlet-name>
  <servlet-class>com.lovo.lyb.Pie</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>pie</servlet-name>
   <url-pattern>/pie</url-pattern>
</servlet-mapping>

JFreeChart中的饼形图

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
代码: import java.awt.Color; import java.awt.Dimension; import javax.swing.JPanel; import or
<div class="iteye-blog-content-contain" style="font-size: 14px"></div> package co
package com.chart; import java.awt.Color; import java.awt.Font; import java.io.File; import j
package chart; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event
项目需要做几个简单的图表,研究了下jfreechart,做了几个简单的饼图和折线图,总结下,以备后用: 一:准
最近开发时,要对一些东西进行统计时用到了JFreeChart画图,所以稍微研究了一下JFreeChart,下面是画饼
早在公司实习的时候就有调研过JFreeChart,那会也只是大概的研究一下没怎么的深入,其牛B的特效让我记
原文地址:http://dai1889.blog.163.com/blog/static/53161889201048101019420/ candy 的 JFreeChar
原文地址:http://dai1889.blog.163.com/blog/static/53161889201048101019420/ candy 的 JFreeChar
原文地址:http://dai1889.blog.163.com/blog/static/53161889201048101019420/ candy 的 JFreeChar
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号