本文主要是介绍Java使用jFree创建饼图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<!--用于生成图片 --><dependency><groupId>org.jfree</groupId><artifactId>jfreechart</artifactId><version>1.0.19</version></dependency>
所需依赖
创建工具类
/*** 创建饼图图片* 返回地址集合* @return*/public static void createChartImg( List<List<String>> list , String filePath ) {File file;int i = 0;DefaultPieDataset pds = new DefaultPieDataset();if (list != null && list .size() > 0) {for (i = 1; i < list.size(); i++) {//设置饼图数据pds.setValue(tableList.get(i).get(0), Double.parseDouble(tableList.get(i).get(1)));}}if (i > 0) {createChart(pds, filePath, null );}return fileMap;}/*** 创建饼图并保存到本地** @return*/public static void createChart(DefaultPieDataset pds, String filePath, String title) {try {// 分别是:显示图表的标题、需要提供对应图表的DateSet对象、是否显示图例、是否生成贴士以及是否生成URL链接JFreeChart chart = ChartFactory.createPieChart(title, pds, false, false, true);// 如果不使用Font,中文将显示不出来java.awt.Font font = new java.awt.Font("宋体", Font.BOLD, 12);// 设置图片标题的字体chart.getTitle().setFont(font);// 得到图块,准备设置标签的字体PiePlot plot = (PiePlot) chart.getPlot();plot.setShadowPaint(Color.WHITE);//设置边框颜色plot.setOutlinePaint(Color.WHITE);// 设置标签字体plot.setLabelFont(font);plot.setStartAngle(new Float(3.14f / 2f));// 设置plot的前景色透明度plot.setForegroundAlpha(0.7f);// 设置plot的背景色透明度plot.setBackgroundAlpha(0.0f);plot.setBackgroundImageAlpha(0);// 设置标签生成器(默认{0})// {0}:key {1}:value {2}:百分比 {3}:sumplot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}({1}占{2})"));// 将内存中的图片写到本地硬盘ChartUtilities.saveChartAsJPEG(new File(filePath), chart, 600, 300); //600宽度,300高度} catch (Exception e) {e.printStackTrace();}}
生成如图
这篇关于Java使用jFree创建饼图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!