java报表

论坛 期权论坛     
匿名小用户   2019-10-20 18:39   75   0
<!-- 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&lt;String,Double&gt; datas,Font font){<br>
31          try {<br>
32                 //如果不使用Font,中文将显示不出来<br>
33<br>
34                 DefaultPieDataset pds = new DefaultPieDataset();<br>
35<br>
36                 //获取迭代器:<br>
37                Set&lt;Entry&lt;String, Double&gt;&gt; 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
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:50
帖子:1079
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP