FusionCharts图表开发

来源:互联网 发布:2017淘宝女装销售冠军 编辑:程序博客网 时间:2024/05/16 09:14

          FusionCharts是InfoSoft Global公司的一个产品,而FusionCharts Free则是FusionCharts提供的一个免费版本,虽然免费,功能依然强大,图形类型依然丰富。是一个跨平台,跨浏览器的flash图表组件解决方案,能够被 ASP、.NET, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面甚至PPT调用。我们不需要知道任何Flash的知识,只需要了解你所用的编程语言而已。


开发步骤:

1、拷贝FusionCharts文件到WebRoot目录下

2、在显示信息的页面引入所需的js文件

<script type="text/javascript" src="FusionCharts/Charts/FusionCharts.js"></script><script type="text/javascript" src="FusionCharts/Charts/FusionChartsExportComponent.js"></script>
3、将需要显示的对象转成JSON数据(在ListServlet中加入)
List<Person> listPage = pdi.listPage(currentPage, pageSize);request.setAttribute("list", listPage);JSONArray ja = new JSONArray();for (int i = 0; i < listPage.size(); i++) {JSONObject jo = new JSONObject();jo.put("name", listPage.get(i).getName());// 把姓名放入对象jo.put("salary", listPage.get(i).getSalary());// 把工资放入对象ja.add(jo);// 添加进JSONArray}request.setAttribute("json", ja);// 把集合存储

4、在jsp显示图表的页面写入js代码

<script type="text/javascript">  //创建报表工具          写入你需要注入的模板     chartId:id唯一性    高度   宽度  var chart = new FusionCharts("FusionCharts/Charts/Column2D.swf","chartId111", "660", "420");//数据加载来源,也可以直接是data.xml//chart.setDataURL("data.xml");//渲染   或者注入(展示的地方)//chart.render("show");//从model里面取json串var ss = '${json}';//alert(ss);//解析json串   eval把json解析成数组var list = eval(ss);//存放的object类型   object就是json数据//alert(list);//因为FusionCharts需要的是xml的字符串,所以拼接//yAxisMinValue 指定纵轴(Y轴)最小值,数字//yAxisMaxValue 指定纵轴(Y轴)最大值,数字//xaxisname 指横坐标轴(y轴)名称//yaxisname 指纵坐标轴(y轴)名称//FusionCharts   外部标签只认chart 和graph标签   //caption  标题//chart 和graph   var charts="<chart caption='人事工资图' showBorder='1' yAxisMinValue='10' borderColor='#cfaec1' yAxisMaxValue='150' xaxisname='姓名' yaxisname='工资(元)'>";for(var i = 0; i< list.length; i++){charts+="<set name='"+list[i].name+"' value='"+list[i].salary+"'/> ";}charts+="</chart>";//加载字符串    本来需要的是xml文件,现在必须拼装成xml文件  chart.setDataXML(charts);  chart.render("show");  </script>


更改显示图标页面的js代码,可以获得不同的图形效果

var chart = new FusionCharts("FusionCharts/Charts/Column2D.swf","chartId111", "660", "420");

改为

var chart = new FusionCharts("FusionCharts/Charts/Column3D.swf","chartId111", "660", "420");
显示结果为:

Pie2D.swf和Pie3D.swf(2d和3d的饼状图)

还有更多,这里就不一一举例了。

0 0