struts2.1.8.1+JFreeChart -1.0.13 的整合之------饼图

来源:互联网 发布:ue4是美术还是编程 编辑:程序博客网 时间:2024/05/17 22:02

不容易啊,搞了一天。今天终于总算明白了。呵呵

 

第一个做的例子:饼图

import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;

import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.ChartUtilities;

public class PieChartDemo {

 public static void main(String[] args) throws IOException
 {
//  JFreeChart chart = ChartFactory.createPieChart("图书销售统计图",
//    getDataSet(),
//    true,
//    false,
//    false);
  JFreeChart chart = ChartFactory.createPieChart3D("图书销售统计图",
    getDataSet(),
    true,
    false,
    false);
  //重新设置图表标题,改变字体
  chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
  //取得统计图表的第一个图例
  LegendTitle legend = chart.getLegend(0);
  //修改图例的字体
  legend.setItemFont(new Font("宋体",Font.BOLD,14));
  //获取饼图的Plot对象
  PiePlot plot = (PiePlot)chart.getPlot();
  //设置饼图各部分的标签字体
  plot.setLabelFont(new Font("楷书",Font.BOLD,9));
  //设定背景透明度(0-1.0)之间
//  plot.setBackgroundAlpha(0.9f);
  plot.setBackgroundAlpha(0.9f);   //设置背景色透明度
     plot.setForegroundAlpha(0.5f); //设置前景色透明度(现在看上去透明的,就是这个设的属性)
  FileOutputStream fos = new FileOutputStream("book5.jpg");
  ChartUtilities.writeChartAsJPEG(fos, 1f, chart, 800, 600, null);
  fos.close();
 }
 
 public static DefaultPieDataset getDataSet()
 {
  DefaultPieDataset dataset = new DefaultPieDataset();
  dataset.setValue("疯狂JAVA讲义", 47000);
  dataset.setValue("轻量级JAVA EE企业实战", 38000);
  dataset.setValue("疯狂AJAX讲义", 31000);
  dataset.setValue("STRUTS 2权威指南", 29000);
  dataset.setValue("疯狂XML讲义", 25000);
  return dataset;
 }
}

 

 

效果图为: