jfreechart饼图

项目需要做几个简单的图表,研究了下jfreechart,做了几个简单的饼图和折线图,总结下,以备后用:
一:准备工作
官网下载相关版本的包,我用的1.0.5版本的.copy相关包到web/lib下,引用完即可;
web.xml配置下面代码

<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>/servlet/displaychart</url-pattern>
</servlet-mapping>

二:开始画图=。=
有两种方式一种是在后台生成图片,web前台引用生成的图片,一种直接在jsp页面上生成,我直接用的后者
代码如下:
<%
DefaultPieDataset data = new DefaultPieDataset();
//数据初始化
data.setValue("已完成",100);
data.setValue("未完成",900);


PiePlot3D plot = new PiePlot3D(data);//生成一个3D饼图
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.GRAY);//可选,设置图片背景色
chart.setTitle("采集进度完成情况");//可选,设置图片标题
plot.setToolTipGenerator(new StandardPieToolTipGenerator("{1}:{2}",new DecimalFormat("0"),new DecimalFormat( "0.00%")));
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//输出MAP信息
String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w,"map0",info,false);
//生成图片地址
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;

%>


然后页面引用这个图片的地址

<table>
<tr>
<P ALIGN="CENTER">
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">
</P>
</tr>
</table>


饼图示例:

[img]http://dl.iteye.com/upload/attachment/260044/61dda345-39b4-31b9-914c-da8abebd7a33.png[/img]
三:附件是1.0.5版本的api文档,可详细设置各个参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值