日期:2014-05-16  浏览次数:20396 次

使用FusionCharts加载多个flash图表
使用FusionCharts时大家可能都会遇到这种问题:在flash动画中加载多个FusionCharts图表该如何去做?其实只需为每个图表类创建一个实例,提供相应的XML数据然后将它呈现出来就可以了,非常简单。

我们可以在FlashExamples文件夹下创建MultipleCharts.fla,然后再在这个新创建的文件夹下创建一层 "Graphic Elements",添加两个圆角矩形的背景框,用来加载两个图表,如图所示:

示例代码:
#include "com/fusioncharts/includes/LoadingFunctions.as"
#include "com/fusioncharts/includes/AppMessages.as"
import com.fusioncharts.core.charts.Column2DChart;
import com.fusioncharts.core.charts.Line2DChart;
var strXML1:String = "<chart showBorder='0' bgAlpha='0,0' palette='1' caption='Hourly Working Rate' numberPrefix='$'>";
strXML1 = strXML1+"<set label='John' value='32' />";
strXML1 = strXML1+"<set label='Mary' value='65' />";
strXML1 = strXML1+"<set label='Michelle' value='29' />";
strXML1 = strXML1+"<set label='Cary' value='43' />";
strXML1 = strXML1+"</chart>";
var xmlData1:XML = new XML(strXML1);
 
// Data for Chart 2
var strXML2:String = "<chart showBorder='0' bgAlpha='0,0' palette='1' caption='Hours Worked Last week' canvasPadding='20'>";
//Add simple data for demo.
strXML2 = strXML2+"<set label='John' value='49' />";
strXML2 = strXML2+"<set label='Mary' value='34' />";
strXML2 = strXML2+"<set label='Michelle' value='61' />";
strXML2 = strXML2+"<set label='Cary' value='40' />";
strXML2 = strXML2+"</chart>";
var xmlData2:XML = new XML(strXML2);
// --------------------------------------------------- // 
 
// -------------- Actual Code to create the chart ------------//
//Create movie clips required for both the charts
var chartContainer1MC:MovieClip = this.createEmptyMovieClip("ChartHolder1", 1);
var chartContainer2MC:MovieClip = this.createEmptyMovieClip("ChartHolder2", 2);
 
//Now, instantiate the charts using Constructor function of the chart.
var chart1:Column2DChart = new Column2DChart(chartContainer1MC, 1, 380, 325, 20, 15, false, "EN", "noScale");
var chart2:Line2DChart = new Line2DChart(chartContainer2MC, 1, 380, 325, 440, 15, false, "EN", "noScale");
 
//Convey the XML data to chart. 
chart1.setXMLData(xmlData1);
chart2.setXMLData(xmlData2);
 
//Draw the charts
chart1.render();
chart2.render();
//Stop
stop();

查看应用程序,输出效果如下图:


扩展阅读:《如何利用JavaScript API访问导出FusionCharts图表数据》
FusionCharts FusionCharts教程

------解决方案--------------------
是分享经验吗?那就支持下了
------解决方案--------------------
恭喜发财,接分。