其实FusionCharts 是一款优秀灵活的flash统计组件,认真看看它的源码就知道,真正的难点在于flash actionscript 在此就不多言了,下面开始做一个简单的示例
一.下载FusionCharts,找不到我资源里面有,index.html是演示页面,包含所有线性,柱状,扇形等等2D,3D统计示例
Charts 是flash,以后要用
Code 里面是其他语言运用实例
JSClass 核心脚本
....
二.直接开始java运用
1.需要把infosoftglobal包放入src下,没有可以给我发邮件
2.jsp页面导入FusionChartsCreator.java类,如:“<%@page import="com.infosoftglobal.fusioncharts.FusionChartsCreator,java.util.Date"%>”
3.找到想要显示的图形注意*.xml和*.swf名称需对应成对出现,我这里显示2D柱状。
找到/Gallery/Bar2D.swf拷贝到模块下,找到/Gallery/Data/Bar2D.xml打开格式如下
<graph baseFont='宋体' baseFontSize='12' xAxisName='Month' yAxisName='Units' decimalPrecision='0'
formatNumberScale='0' chartRightMargin='30'>
<set name='物价局' value='962' color='AFD8F8' />
<set name='市容局' value='957' color='F6BD0F' />
<set name='税务局' value='871' color='8BBA00' />
<set name='教育局' value='794' color='FF8E46'/>
<set name='物价局' value='762' color='AFD8F8' />
<set name='市容局' value='757' color='F6BD0F' />
</graph>
其中baseFont为字体,baseFontSize为大小...
接下来肯定是拼字符串了 如:
String outxml="";//xml字符串
String chartCode="";//输出字符
outxml="<chart baseFontSize='12' caption='"+orgtype+"各有关部门单位信息采用情况' xAxisName='部门单位' yAxisName='信息采用情况' showValues='0' decimals='0' formatNumberScale='0' chartRightMargin='30' > ";
if(month.equals("")){//如果月为空查询本年
//searchtrem=" and ct_create_time ";
title=year+"年"+orgtype+"各有关部门单位信息采用情况";
}else{
title=year+"年"+month+"月"+orgtype+"各有关部门单位信息采用情况";
}
vector=dImpl.splitPage(strSql,10000,1);
System.out.println(strSql);
if(vector!=null){
for(int i=0;i<vector.size();i++){
isExOrgNames=false;
content=(Hashtable)vector.get(i);
dt_name=CTools.dealNull(content.get("dt_name"));
cp_ispublish=CTools.dealNull(content.get("cp_ispublish"));
total=CTools.dealNull(content.get("total"));
//判断数组中是否存在 返回true 或者 false isExOrgNames
outxml+="<set label='"+dt_name+"' value='"+total+"' /> ";
}
outxml+="</chart> ";
}
chartCode=FusionChartsCreator.createChartHTML("Bar2D.swf", "",outxml , "myNext", 550, 600, false);
然后输出到页面如<%=chartCode%>
注:报表宽度,高度必须可伸缩,我这里先写死了。