当前位置:首页 > fusioncharts 加载到显示完成各阶段事件处理

fusioncharts 加载到显示完成各阶段事件处理

点击次数:4554  更新日期:2013-01-08

fusioncharts事件处理

官网上支持的事件

Event NameWhen is it raised?What to use it for?
FC_Loaded(DOMId)当 SWF 图表已经完成在用户的浏览器中下载。若要隐藏您可能在您的页面的任何加载程序组件。
FC_Rendered(DOMId)当图表已完成呈现。进行此调用仅一次每加载图表 SWF (即使向它提供新的数据则通过 setDataURL 或 setDataXMLmethod)。要调用任何进一步的 JavaScript 图表,方法或更改图表的数据。
FC_DataLoaded(DOMId)当图表的数据已完成加载-dataXML 或 dataURL 方法中的两个。要进一步处理您的页中的任何其他组件中的数据。
FC_DataLoadError(DOMId)当从指定的 URL 加载数据时出错若要向用户显示一条错误消息,或采取纠正措施
FC_NoDataToDisplay(DOMId)由图表加载的 XML 数据时不包含任何要显示的数据若要向用户显示一条错误消息,或采取纠正措施
FC_DataXMLInvalid(DOMId)XML 数据的图表的加载时是无效的 (错了 XML 结构)若要向用户显示一条错误消息,或采取纠正措施
 使用

<HTML>
<HEAD>
   <TITLE>FusionCharts & JavaScript - Basic Example</TITLE> 
   <SCRIPT LANGUAGE="Javascript" SRC="FusionCharts.js"></SCRIPT>
   <SCRIPT LANGUAGE="JavaScript">
           function FC_Rendered(DOMId){
            if (DOMId=="chart1Id"){
             alert("Look Ma! I am Column3D and I've finished loading and rendering.");
            return false;
         }
      }
   function getChartXML(){
         var chartToPrint = getChartFromId("chart1Id");
         alert(chartToPrint.getXML());
      }

   </SCRIPT>
</HEAD>
<BODY>
   <div id="chart1div">
      FusionCharts
   </div>
   <script language="JavaScript"> 
      var chart1 = new FusionCharts("Column3D.swf", "chart1Id", "400", "300", "0", "1");
      chart1.setDataXML("<chart><set label='A' value='10' /><set label='B' value='11' /></chart>");
      chart1.render("chart1div");
   </script>
   <center><input type='button' value='Show Chart XML' onClick='javascript:getChartXML();'></center>

</BODY>
</HTML>

注意最后两个参数一定是0,1,不然事件方法是不会调用的.
 
fusioncharts如何处理y轴整数显示问题
有 时候我们图的y轴要求显示次数或数量之类的什么。这些都整数,如果放任fusioncharts自动生成DivLines,那就麻烦了,如果你的 yAxisMaxValue%numDivLines!=0的话,你的y轴间隔线上显示的就是小数,不管你怎么调其它的参数都无济于事。所以要真正实现整 数显示
你就要自己处理yAxisMaxValue,numDivLines,yAxisMinValue这些值。保证yAxisMaxValue%numDivLines==0.最近记得设置adjustDiv=0

还有一个特殊情况就是当显示数据value值为0时,y轴也会也小数的问题。这时最好手动设置yAxisMaxValue=5之类的整数 
自动设置fusioncharts的yAxisMaxValue,yAxisMinValue.
对于single series我们遍历set的value值取最大值与最小值
对于multi series 我们要取所有DataSet中最大值与最小值
有时为了显示的好看,我们最好将最大最小边界在原来的基础上增加15%的比例,以保证图型居中