package cn.itcast.chart;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
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.data.general.DefaultPieDataset;
public class PieDemo {
public static void main(String[] args) throws IOException {
String title="用户统计报表(所属单位)";//第一个参数:主标题
boolean legend=true;//第三个参数:是否显示子标题
boolean tooltips=true;//第四个参数:是否生成提示的标签
boolean urls=true;//第五个参数:是否生成url链接
//第二个参数图表显示的数据集合
DefaultPieDataset dataset=new DefaultPieDataset();
dataset.setValue("北京",13);
dataset.setValue("深圳",6);
dataset.setValue("上海",2);
//createPieChart3D(String, PieDataset, boolean, boolean, Locale)
JFreeChart jFreeChart=ChartFactory.createPieChart3D(title, dataset, legend, tooltips, urls);
//===========================================================================================
//处理图形上的乱码
Font font1=new Font("宋体",Font.BOLD,18);
Font font2=new Font("宋体",Font.BOLD,15);
jFreeChart.getTitle().setFont(font1);//处理主标题乱码
jFreeChart.getLegend().setItemFont(font1);;//处理子标题乱码
//获取图表区域对象
PiePlot3D categoryPlot=(PiePlot3D) jFreeChart.getPlot();
categoryPlot.setLabelFont(font2);
//设置图形 的生成格式(上海2 (10%)
StandardPieSectionLabelGenerator generator=new StandardPieSectionLabelGenerator("{0} {1} ({2})");
categoryPlot.setLabelGenerator(generator);
//======================================================================================================
//在D盘目录下生成图片
File file=new File("d://test.jpeg");
//ChartUtilities.saveChartAsJPEG(file, chart, width, height);
ChartUtilities.saveChartAsJPEG(file, jFreeChart, 800, 600);
//使用ChartFrame对象显示图像
ChartFrame frame=new ChartFrame("xyz",jFreeChart);
frame.setVisible(true);
frame.pack();
}
}
Jfreechart-Jfreechart的使用(图表绘制)[饼图]
最新推荐文章于 2021-02-24 03:13:24 发布