偶然闲逛发现FusionChartsFree这个东东,做一些简单的图很方便,很有动感.这是免费版本,他又好多收费版,很好很强大.
但是他不直接支持java,他接受的数据源是xml,总是拼xml很麻烦,所以我就对他做了下简单封装.
才刚刚开始,后面会陆续更新.不多说,来个示例:
1. /**
2. *
3. * @author jseed
4. */
5. public class GetPieAction implements Action {
6.
7. /**
8. *
9. */
10. public String execute(HttpServletRequest request,
11. HttpServletResponse response) {
12.
13. /*---------singleDataset-------------*/
14. SingleDataset singleDataset=new SingleDataset();
15. singleDataset.addValue("1月", 12000);
16. singleDataset.addValue("2月", 9000);
17. singleDataset.addValue("3月", 1200);
18. singleDataset.addValue("4月", 4200);
19. singleDataset.addValue("5月", 20200.2161);
20. singleDataset.addValue("6月", 10200);
21.
22. /*-----------------line2d----------------------*/
23. Line2D lineChart=new Line2D(singleDataset);
24. lineChart.setBaseFontSize("12");
25. lineChart.setBaseFont("宋体");
26. lineChart.setCaption("测试图表");
27. lineChart.setXAxisName("月份");
28.
29. request.setAttribute("lineChart",lineChart);
30.
31.
32. String destJsp = "/testsinglechart.jsp";
33. return destJsp;
34. }
35. }
---------------------------testsinglechart.jsp页面--------------------------------
1. <%@ page contentType="text/html; charset=UTF-8" language="java"%>
2. /*-----先引入标签库----------*/
3. <%@ taglib uri="/WEB-INF/easychart.tld" prefix="easychart"%>
4.
5.
6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
7. <html>
8. <head>
9.
10. <title>test all chart</title>
11. /*-----再引入js类库----------*/
12. <SCRIPT type="text/javascript" src="js/FusionCharts.js"></SCRIPT>
13. </head>
14.
15. <body>
16. /*------标签出图-------*/
17. <easychart:chart chart="lineChart" chartID="linechart" dispalyDivID="linediv" height="300" width="600" />
18.
19. </body>
20. </html>
---------------------------------------------------------------------------------------------------------
<easychart:chart>标签说明
chart="lineChart" 表示数据源,从request里自动取得,当然你必须在后台设置request.setAttribute("lineChart",lineChart);
chartID="linechart" 全局唯一id 随便设,唯一就行
dispalyDivID="linediv" 显示图表的div层id 必须全页面唯一
height="300" 高
width="600" 宽