怎么用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)