本文共 1647 字,大约阅读时间需要 5 分钟。
public classPieChartExample
{/*** 创建PieChart
*
*@author马建新(mervin)
*@return生成Chart图片的地址*/
publicString createPieChart()
{
String filePath= "D:\\testJfreeChart.jpg";try{
DefaultPieDataset dataset=getPieDataSet();//JFreeChart主要由三个部分构成:title(标题),legend(图释),plot(图表主体)。
JFreeChart chart = ChartFactory.createPieChart("测试PieChart",
dataset,true, true, false);//设置Chart属性
setChartProperties(chart);
ChartUtilities.saveChartAsJPEG(new File(filePath), chart, 400, 300);
}catch(IOException e)
{
e.printStackTrace();
}returnfilePath;
}/*** 设置Chart属性,可解决乱码问题
*@paramchart 统计图标*/
private voidsetChartProperties(JFreeChart chart){//三个部分设置字体的方法分别如下:
TextTitle textTitle =chart.getTitle();
textTitle.setFont(new Font("宋体", Font.BOLD, 20));
LegendTitle legend=chart.getLegend();if (legend != null) {
legend.setItemFont(new Font("宋体", Font.BOLD, 20));
}
PiePlot pie=(PiePlot) chart.getPlot();
pie.setLabelFont(new Font("宋体", Font.BOLD, 12));
pie.setNoDataMessage("No data available");//设置PieChart是否显示为圆形
pie.setCircular(true);//间距
pie.setLabelGap(0.01D);
}/*** 获得PieChart的数据集
*
*@returnpieChart数据集*/
privateDefaultPieDataset getPieDataSet()
{
DefaultPieDataset dataset= newDefaultPieDataset();
dataset.setValue("香蕉", 56.4);
dataset.setValue("苹果", 63.5);
dataset.setValue("橘子", 58.4);
dataset.setValue("西瓜", 76.3);returndataset;
}/***@paramargs*/
public static voidmain(String[] args)
{
PieChartExample piechart= newPieChartExample();
String filePath=piechart.createPieChart();
System.out.println("PieChart file path : " +filePath);try{
Runtime.getRuntime().exec("rundll32 url.dll FileProtocolHandler " +filePath);
}catch(IOException e)
{
e.printStackTrace();
}
}
}
转载地址:https://blog.csdn.net/weixin_33613462/article/details/114505792 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!