java 饼图怎么画,一直弄不出来l Rent and Utilities 35%l Transportation 15%l Food 15%l Education 25%l Miscellaneous 10%要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 00:55:17
java 饼图怎么画,一直弄不出来l Rent and Utilities 35%l Transportation 15%l Food 15%l Education 25%l Miscellaneous 10%要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部

java 饼图怎么画,一直弄不出来l Rent and Utilities 35%l Transportation 15%l Food 15%l Education 25%l Miscellaneous 10%要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部
java 饼图怎么画,一直弄不出来
l Rent and Utilities 35%
l Transportation 15%
l Food 15%
l Education 25%
l Miscellaneous 10%
要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部分(使用fillarc方法画扇形图).

java 饼图怎么画,一直弄不出来l Rent and Utilities 35%l Transportation 15%l Food 15%l Education 25%l Miscellaneous 10%要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部

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

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

 

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


 jcommon-0.9.3.jar  


 jdom.jar 


 jfreechart-0.9.18.jar


 log4j.jar


第二步  配置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>/DisplayChart</url-pattern>

   

</servlet-mapping>


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


第三部 代码 画饼状图


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;

   }

}


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


调用


<body>

  <%     


Binzi bz=new 

Binzi();//调用上面的


List list=new ArrayList();

         

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

         

for(int 

i=0;i<list.size();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;

  %>

  <table align="center" 

border="0">

   <tr>

    <td>

     <P 

ALIGN="CENTER">

      <img 

src="<%=url%>" width=700 height=450 

border=1

       usemap="#<%=filename%>">

     </p>

    </td>

   </tr>      

  </table>

 </body>

java 饼图怎么画,一直弄不出来l Rent and Utilities 35%l Transportation 15%l Food 15%l Education 25%l Miscellaneous 10%要求:饼图的每个部分要有不同的颜色.给每个部分设定一个标签,该标签出现在饼图的外围部 java 不确定整数有几位的情况下小数点前保留前两位数字不变后面全部为0怎么做,一直没弄出来比如123456,变成120000 matlab画不出来图vin=28;r=10;l=20e-3;c=50e-6;wn=1/sqrt(l*c);keci=1/(2*r)*sqrt(l/c)num=[vin];den=[l*c l/r 1];qvd=tf(num,den);margin(qvd)很简单的程序,死活画不出来图, 一直解不出来. lǜ怎么打不出来lǜ(律)怎么用拼英打不出来? 这几个音标 到底怎么读?求科学真相?一直很苦难的 tr de ts tz 还有两个打不出来finsh,sh发的音,和它对应的音怎么读的还有r l w j m n汉语的译音读法 感激怎么造句?我一直想不出来. 求大神帮忙画mathematica的图.我找不出来哪儿错了.C和c不一样哦~B3 = 1/8 E^(-2 r) (-2 + (-1 + E^(4 r))/(I - 2 l)^2 - (4 E^(4 r))/(-I + l)^2 - (4 E^(4 r))/(I + l)^2 + (-1 + E^(4 r))/(I + 2 l)^2 + (2 HurwitzZeta[2,1/Tc])/Tc^2 + (6 E^( 圆台表面积问题S表=π(r+r')l是怎么得出来的? 它们向心力相同,所以m1w平方r1=m2w平方r2.距离为L,所以r1+r2=L.然后根据这俩式子,是怎么推出来R=(m/m+M)L,和r=(M/m+M)L的.本人死活推不出来、 线性代数,线性方程组系数矩阵的化简,如图,我的做法怎么一直做不出来, “l”怎么打出来? 怎么打处顿号顿号我一直打不出来怎么打出顿号啊! lǎng rùn 看拼音写词语 我怎么打都打不出来 为什么太阳与行星中的引力公式是F=GMm/r^2太阳与行星之间的相互引力作用在同一直线上,不应该是加或者减之类的么,怎么出来了一个乘 用java产生一个随机数..怎么弄? 西班牙语发音问题,p和b,r和l,d和t到底要怎么才算是声带不颤动?自己怎么感觉出来?如cuatro和cuadro,paja和baja有相关的语音视频吗? 求助java 幂函数表达式py=0.02*x^0.89这个怎么用java表达出来啊!还望赐教.