fusioncharts事件处理
官网上支持的事件
Event Name | When 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%的比例,以保证图型居中