java pieplot_java 饼图怎么画,一直弄不出来

展开全部

下面这个e68a843231313335323631343130323136353331333332636362实在WEb中显示的图形,可能不太符合你的需求,那直接给你发给文件吧。

这个很详细,看了看可行,就转给你了。

首先要导入所需要的包有四个

jcommon-0.9.3.jar

jdom.jar

jfreechart-0.9.18.jar

log4j.jar

第二步  配置web.xml  加入一下的代码

DisplayChart

org.jfree.chart.servlet.DisplayChart

DisplayChart

/DisplayChart

以上的配置 在做三种图的时候是一样的

第三部 代码 画饼状图

import java.awt.Color;

import java.awt.Font;

import

java.awt.Insets;

import java.io.PrintWriter;

import javax.servlet.http.HttpSession;

import org.jfree.chart.ChartFactory;

import

org.jfree.chart.ChartRenderingInfo;

import

org.jfree.chart.ChartUtilities;

import org.jfree.chart.JFreeChart;

import

org.jfree.chart.entity.StandardEntityCollection;

import

org.jfree.chart.labels.StandardPieItemLabelGenerator;

import

org.jfree.chart.plot.PiePlot;

import

org.jfree.chart.servlet.ServletUtilities;

import

org.jfree.chart.title.TextTitle;

import org.jfree.data.DefaultPieDataset;

public class Binzi

{

private DefaultPieDataset data = new

DefaultPieDataset();

public void setValue(String

key,double value)

{

data.setValue(key,value);

}

public String generatePieChart(String title,

HttpSession session, PrintWriter pw,int wPhoto,int hPhoto)

{

String filename =

null;

try

{

JFreeChart chart =

ChartFactory.createPieChart3D(title,data,true,true,

false);

//设置图片的背景色

chart.setBackgroundPaint( new

java.awt.Color(189,200,255));

//设置图片标题的字体和大小

Font font = new

Font("黑体", Font.CENTER_BASELINE, 20);

TextTitle _title = new TextTitle(title);

_title.setFont(font);

chart.setTitle(_title);

PiePlot plot =

(PiePlot) chart.getPlot();

plot.setInsets(new Insets(5, 5, 5, 5));

//在统计图片上建连结

//plot.setURLGenerator(new

StandardPieURLGenerator("link.jsp",

"section"));

plot.setStartAngle(270);

//指定显示的饼图上圆形还椭圆形

plot.setCircular(false);

//指定图片的透明度

plot.setForegroundAlpha(1.0f);

//

没有数据时显示的消息

plot.setNoDataMessage("当天没有统计数据");

plot.setNoDataMessageFont(new Font("黑体", Font.CENTER_BASELINE,

20));

plot.setNoDataMessagePaint(Color.RED);

//plot.setRadius(0.70);

//抽离一个 section

出来,不支持3D

//plot.setExplodePercent(1,

1.00);

plot.setSectionOutlinePaint(Color.BLACK);

// 显示百分比

plot.setLabelGenerator(new

StandardPieItemLabelGenerator(StandardPieItemLabelGenerator.DEFAULT_TOOLTIP_FORMAT));

//设置背景的透明度

plot.setBackgroundAlpha(0.6f);

//把生成的图片放到临时目录

ChartRenderingInfo info =

new ChartRenderingInfo(new

StandardEntityCollection());

//500是图片长度,300是图片高度

filename =

ServletUtilities.saveChartAsJPEG(chart, wPhoto, hPhoto,

info,session);

ChartUtilities.writeImageMap(pw, filename,

info);

pw.flush();

}

catch (Exception

e)

{

System.out.println("Exception - " +

e.toString());

e.printStackTrace(System.out);

filename

= "public_error_500x300.png";

}

return filename;

}

}

以上的代码可以直接诶复制用 不做改动 调用的时候修改参数就可以了

调用

Binzi bz=new

Binzi();//调用上面的

List list=new ArrayList();

list=(ArrayList)request.getAttribute("list");//、、获取数据源

for(int

i=0;i

{  Vbean vb=new

Vbean();

vb=(Vbean)list.get(i);

bz.setValue(vb.getVname(),vb.getMount());//根据数据作图第一个参数图例  第二个参数

具体数值需要改动的只有这里

其他的地方的都可以直接复制

}

String filename =

bz.generatePieChart("蔬菜品种例比图", session,

new

PrintWriter(out), 700, 450);

String url =

request.getContextPath() +

"/DisplayChart?filename="

+

filename;

%>

border="0">

ALIGN="CENTER">

src="" width=700 height=450

border=1

usemap="#">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值