JfreeChar柱状图实例

package com.test;

import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.*;

public class PieChartPicture {
 public static void main(String[] args) {
  
  //这里是获取SQL查询得到的数据
  PieDataset dataset = getDataSet();
  
  JFreeChart chart = ChartFactory.createPieChart3D(" 项目进度分布", // chart
                 // title
    dataset,// data
    true,// include legend
    true, false);
  PiePlot3D plot = (PiePlot3D) chart.getPlot();
  // 图片中显示百分比:默认方式
  // plot.setLabelGenerator(new
  // StandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));
  // 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位
  plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
    "{0}={1}({2})", NumberFormat.getNumberInstance(),
    new DecimalFormat("0.00%")));
  // 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例
  plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
    "{0}={1}({2})"));
  // 设置背景色为白色
  chart.setBackgroundPaint(Color.white);
  // 指定图片的透明度(0.0-1.0)
  plot.setForegroundAlpha(1.0f);
  // 指定显示的饼图上圆形(false)还椭圆形(true)
  plot.setCircular(true);
  // 设置图标题的字体
  Font font = new Font(" 黑体", Font.CENTER_BASELINE, 20);
  TextTitle title = new TextTitle(" 项目状态分布");
  title.setFont(font);
  chart.setTitle(title);
  FileOutputStream fos_jpg = null;
  try {
   fos_jpg = new FileOutputStream("D:\\ 项目状态分布.jpg");
//可以讲图返回给前台使用
ChartUtilities
     .writeChartAsJPEG(fos_jpg, 100, chart, 640, 480, null);
   fos_jpg.close();
  } catch (Exception e) {
  }
 }

}

 

你可能感兴趣的:(jfreechart)