<!-- flowchart 箭头图标 勿删 -->
<svg style="display: none;">
<path d="M5,0 0,2.5 5,5z" id="raphael-marker-block" stroke-linecap="round" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p>Java-jfree报表(学习整理)----饼状图、柱状图、折线统计图</p>
<p>原文地址:<a data-token="2bfc70b57f003a48b517f333951a8687" href="https://www.cnblogs.com/newwind/p/5680389.html" rel="nofollow">https://www.cnblogs.com/newwind/p/5680389.html</a><br>
maven 依赖<br>
<br>
org.jfree<br>
jfreechart<br>
1.0.19<br>
</p>
<p>1、使用的报表工具:</p>
<p>jfree报表</p>
<p>2、下载网址:</p>
<p><a data-token="204f30857f25a6ea02069fdafe899c86" href="http://www.jfree.org/" rel="nofollow">http://www.jfree.org/</a></p>
<p>下载之后先解压:如下图</p>
<p></p>
<p>下载后:需要的jar包!如下图:</p>
<p></p>
<p>打开:找到以下的两个jar包</p>
<p>再导入开发项目中:</p>
<p>之后就可以正常使用jfree报表了:</p>
<p></p>
<p>3、jfree报表API文档:</p>
<p><a data-token="25e2c8ac8c458edaab5d03d5f217d353" href="http://tool.oschina.net/apidocs/apidoc?api=jfreechart" rel="nofollow">http://tool.oschina.net/apidocs/apidoc?api=jfreechart</a></p>
<p>参考博文:Bannings博客</p>
<p><a data-token="77d7a396ac1e901e56ed4b10d463f98a" href="http://blog.csdn.net/zhangao0086/article/details/6365468" rel="nofollow">http://blog.csdn.net/zhangao0086/article/details/6365468</a></p>
<p>4、直接上测试源码:</p>
<p>4.1饼状图:</p>
<p>复制代码<br>
1 import java.awt.Font;<br>
2 import java.awt.Image;<br>
3 import java.io.File;<br>
4 import java.util.HashMap;<br>
5 import java.util.Iterator;<br>
6 import java.util.Map;<br>
7 import java.util.Map.Entry;<br>
8 import java.util.Set;<br>
9<br>
10 import javax.imageio.ImageIO;<br>
11<br>
12 import org.jfree.chart.ChartFactory;<br>
13 import org.jfree.chart.ChartUtilities;<br>
14 import org.jfree.chart.JFreeChart;<br>
15 import org.jfree.chart.labels.StandardPieSectionLabelGenerator;<br>
16 import org.jfree.chart.plot.PiePlot;<br>
17 import org.jfree.data.general.DefaultPieDataset;<br>
18<br>
19 /**<br>
20 * 测试生成报表图形<br>
21 * Created by Jason 2016-7-18 上午7:14:59<br>
22 <em>/<br>
23 public class CharReport_BZT {<br>
24 /</em>*<br>
25 * 提供静态方法:获取报表图形1:饼状图<br>
26 * @param title 标题<br>
27 * @param datas 数据<br>
28 * @param font 字体<br>
29 <em>/<br>
30 public static void createPort(String title,Map<String,Double> datas,Font font){<br>
31 try {<br>
32 //如果不使用Font,中文将显示不出来<br>
33<br>
34 DefaultPieDataset pds = new DefaultPieDataset();<br>
35<br>
36 //获取迭代器:<br>
37 Set<Entry<String, Double>> set = datas.entrySet();<br>
38 Iterator iterator=(Iterator) set.iterator();<br>
39 Entry entry=null;<br>
40 while(iterator.hasNext()){<br>
41 entry=(Entry) iterator.next();<br>
42 pds.setValue(entry.getKey().toString(),Double.parseDouble(entry.getValue().toString()));<br>
43 }<br>
44 /</em>*<br>
45 * 生成一个饼图的图表<br>
46 *<br>
47 * 分别是:显示图表的标题、需要提供对应图表的DateSet对象、是否显示图例、是否生成贴士以及是否生成URL链接<br>
48 <em>/<br>
49 JFreeChart chart = ChartFactory.createPieChart(title, pds, true, false, true);<br>
50 //设置图片标题的字体<br>
51 chart.getTitle().setFont(font);<br>
52<br>
53 //得到图块,准备设置标签的字体<br>
54 PiePlot plot = (PiePlot) chart.getPlot();<br>
55<br>
56 //设置分裂效果,需要指定分裂出去的key<br>
57 plot.setExplodePercent(“天使-彦”, 0.1);<br>
58<br>
59 //设置标签字体<br>
60 plot.setLabelFont(font);<br>
61<br>
62 //设置图例项目字体<br>
63 chart.getLegend().setItemFont(font);<br>
64<br>
65 /</em>*<br>
66 * 设置开始角度(弧度计算)<br>
67 *<br>
68 * 度 0° 30° 45° 60° 90° 120° 135° 150° 180° 270° 360°<br>
69 * 弧度 0 π/6 π/4 π/3 π/2 2π/3 3π/4 5π/6 π 3π/2 2π<br>
70 */<br>
71 plot.setStartAngle(new Float(3.14f / 2f));<br>
72<br>
73 //设置背景图片,设置最大的背景<br>
74 Image img = ImageIO.read(new File(“f:/test/1.jpg”));<br>
75 chart.setBackgroundImage(img);<br>
76<br>
77 //设置plot的背景图片<br>
78 img = ImageIO.read(new File(“f:/test/2.jpg”));<br>
79 plot.setBackgroundImage(img);<br>
80<br>
81 //设置plot的前景色透明度<br>
82 plot.setForegroundAlpha(0.7f);<br>
83<br>
84 //设置plot的背景色透明度<br>
85 |
|