怎么用JAVA 开发的圆饼图

怎么用JAVA 开发的圆饼图

问题描述:

大家好,现在我想把数据库统计出来的数据结果,通过柱状图、圆饼图的形式显示在jsp页面上

如果有例子代码的话,最好能发一下给我,或者具体的步骤说明一下也可以的,谢谢啊!

可以用jfreeChart
[url]http://www.iteye.com/topic/157328
[/url]
下面是一个DEMO
[code="java"]/**

  • copyright (c) XXXXXXX
  • jfreechart
  • PieChartDemo.java */ package jfreechart;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.File;

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;
import org.jfree.util.Rotation;

/**

  • @author XXX
  • @Date Feb 11, 2009
    */
    public class PieChartDemo {

    /**

    • @param args */ public static void main(String[] args) { JFreeChart chart = createChart(createDataset()); try{ ChartUtilities.saveChartAsPNG(new File("d:/piePig.jpg"), chart, 700, 400); } catch(Exception e){ e.printStackTrace(); }

    }
    /**

    • 构建数据集
    • @return / static PieDataset createDataset() { //注意是DefaultPieDataset!! DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); defaultpiedataset.setValue("One", new Double(43.200000000000003D)); defaultpiedataset.setValue("Two", new Double(10D)); defaultpiedataset.setValue("Three", new Double(27.5D)); defaultpiedataset.setValue("Four", new Double(17.5D)); return defaultpiedataset; } /*
    • 创建报表
    • @param piedataset
    • @return
      */
      static JFreeChart createChart(PieDataset piedataset)
      {
      JFreeChart jfreechart = ChartFactory.createPieChart("饼图报表测试1", //图形标题名称
      piedataset, // dataset数据集
      true, // legend?
      true, // tooltips?
      false); //URLs?
      PiePlot pieplot = (PiePlot)jfreechart.getPlot(); //通过JFreeChart 对象获得 plot:PiePlot!!
      //设置背景透明度.
      pieplot.setBackgroundAlpha(0.5f);
      //图形边框颜色
      pieplot.setBaseSectionOutlinePaint(Color.BLACK);
      //图形边框粗细
      pieplot.setBaseSectionOutlineStroke(new BasicStroke(1.6f));

      pieplot.setBaseSectionPaint(Color.red);
      //设置图形是否为圆形,true为圆形,false为椭圆形.
      pieplot.setCircular(true);
      //设置饼状图的绘制方向,可以按顺时针方向绘制,也可以按逆时针方向绘制
      pieplot.setDirection(Rotation.ANTICLOCKWISE);
      //设置绘制角度(图形旋转角度)
      pieplot.setStartAngle(30);
      //设置突出显示的数据块
      pieplot.setExplodePercent("One", 0.1D);
      //设置前景透明度
      pieplot.setForegroundAlpha(1f);
      //设置标签背景色
      pieplot.setLabelBackgroundPaint(Color.LIGHT_GRAY);
      //设置标签的字体
      pieplot.setLabelFont(new Font("宋体", Font.BOLD, 20));

      pieplot.setNoDataMessage("找不到可用数据..."); // 没有数据的时候显示的内容1
      return jfreechart;
      }

}
[/code]

用jfreeChart 很容易搞定

文档和例子(关于jfreechart的两篇收费文档JFreeChartDeveloperGuide和jfreechart-1.0.1)

http://ivanl.iteye.com/blog/35235

http://leiwuluan.iteye.com/admin/blogs/368053
这里面有一个例子你一看就会明白了。。各种统计图。 :)