- <HTML>
- <HEAD>
- <SCRIPT LANGUAGE="Javascript" SRC="http://www.cnblogs.com/FusionCharts/FusionCharts.js"></SCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- //数据
- var strXML = "<graph caption='Hours worked' showNames='1'> <set name='Tom' value='32' color='AFD8F8'/>
- <set name='Mary' value='16' color='F6BD0F'/><set name='Jane' value='42' color='8BBA00'/></graph>";
- /**//*
- * 当用户单击按钮时调用这个方法。
- * 这个方法用来使用新的SWF文件创建一个新的FusionCharts实例。
- */
- function updateChart(chartSWF){
- //Create another instance of the chart.
- var chart1 = new FusionCharts(chartSWF, "chart1Id", "400", "300", "0", "0");
- chart1.setDataXML(strXML);
- chart1.render("chart1div");
- }
- </SCRIPT>
- </HEAD>
- <BODY>
- <div id="chart1div">
- FusionCharts
- </div>
- <script language="JavaScript">
- var chart1 = new FusionCharts("http://www.cnblogs.com/FusionCharts/FCF_Column3D.swf", "chart1Id", "400", "300", "0", "0");
- chart1.setDataXML(strXML);
- chart1.render("chart1div");
- </script>
- <form name='frmUpdate'>
- Show as:
- <input type='button' value='Column' onClick="javaScript:updateChart('http://www.cnblogs.com/FusionCharts/FCF_Column3D.swf');" name='btnColumn' />
- <input type='button' value='Line' onClick="javaScript:updateChart('http://www.cnblogs.com/FusionCharts/FCF_Line.swf');" name='btnLine' />
- <input type='button' value='Pie' onClick="javaScript:updateChart('http://www.cnblogs.com/FusionCharts/FCF_Pie3D.swf');" name='btnPie' />
- </form>
- </CENTER>
- </BODY>
- </HTML>
上面的代码非常浅显,就不做解释了。
动态改变图形的数据我们已经会动态改变图形的类型了,动态改变数据和上面的原来一样,我们只需要在新建实例的时候,传入新的数据就可以了。那么为什么还要单独来讲解这个呢?因为FCF给我们提供了一个更简单的方法,那就是updateChartXML(domid,data)。它的第一个参数就是我们在创建FusionCharts实例时设置的图形domid,第二个参数是XML数据字符。来看看下面的代码。- <HTML>
- <HEAD>
- <TITLE>FusionCharts Free & JavaScript - Updating chart using setDataXML() Method</TITLE>
- <SCRIPT LANGUAGE="Javascript" SRC="http://www.cnblogs.com/FusionCharts/FusionCharts.js"></SCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- function updateChart(DOMId){
- updateChartXML(domId,"<graph><set name='A' value='32' /></graph>");
- }
- </SCRIPT>
- </HEAD>
- <BODY>
- <div id="chart1div">
- FusionCharts
- </div>
- <script language="JavaScript">
- var chart1 = new FusionCharts("http://www.cnblogs.com/FusionCharts/FCF_Column3D.swf", "chart1Id", "400", "300");
- chart1.setDataXML("<graph><set name='A' value='10' color='D64646' /><set name='B' value='11' color='AFD8F8' /></graph>");
- chart1.render("chart1div");
- </script>
- <form name='frmUpdate'>
- <input type='button' value='改变数据' onClick="javaScript:updateChart('chart1Id');" name='btnUpdate'>
- </form>
- </HTML>
当我们单击”改变数据“按钮后,会调用updateChart()方法,它会使用新的数据来重新构建图形。