http://blog.csdn.net/chenssy/article/details/9773797
FusionCharts是InfoSoft Global公司的一个产品,而FusionCharts Free则是FusionCharts提供的一个免费版本,虽然免费,功能依然强大,图形类型依然丰富。
是一个跨平台,跨浏览器的flash图表组件解决方案,能够被 ASP、.NET, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面甚至PPT调用。我们不需要知道任何Flash的知识,只需要了解你所用的编程语言而已。
目前图表表开发应用最多:
FusionCharts- 多功能Java图表类库
JFreeChart - 多功能Java图表类库
开发步骤
1、引入<script type="text/javascript" src="FusionCharts/Charts/FusionCharts.js"></script>
<script type="text/javascript" src="FusionCharts/Charts/FusionChartsExportComponent.js"></script>
2、在servlet中
List<Person>list1 =db.list();
JSONArray ja=new JSONArray();for(int i=0;i<list1.size();i++){
JSONObject jo=new JSONObject();//创建JSONObject对象
jo.put("name", list1.get(i).getName());//把姓名放入JSONObject
jo.put("money", list1.get(i).getMoney());//把工资放入JSONObject
ja.add(jo);//把JSONObject对象添加入JSONArray
}
request.setAttribute("json", ja);
3、在jsp显示页面中写入<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("pie");
//从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].money+"'/>";
}
charts+="</chart>";
//加载字符串 本来需要的是xml文件,现在必须拼装成xml文件
chart.setDataXML(charts);
chart.render("pie");
</script>