FusionCharts简单教程(二)-----应用js加载图像和setDataXML()加载数据

    添加时间:2013-8-9 点击量:

    &#160;&#160;&#160;&#160;&#160; 前面一篇对FusionCharts进行了一个简单的介绍,并且建树了我们第一个图形,然则那个是在HTML中应用<OBJECT>和<EMBED>标识表记标帜来加载图形的,然则如许做是很是不“理智”的。如许做除了代码量斗劲大外,还有并不是所有的人可以或许看懂上方的代码。然则应用JS后就可以避免上方几个题目了。

    一、应用JS加载FusionCharts图形

    &#160;&#160;&#160;&#160;&#160; 下面就分五个步调讲解如何应用js来加载FusionCharts图形。

    &#160;&#160;&#160;&#160;&#160; 第一步:导入FusionCharts.js文件

    <script language="JavaScript" src="../FusionCharts/FusionCharts.js"></script>



    &#160;&#160;&#160;&#160;&#160; 第二步:定义一个DIV,它必须具备一个元素:id



    <div id="chartdiv_01" align="center"></div>


    &#160;&#160;&#160;&#160;&#160; 第三步:建树一个FusionCharts对象



     var myChart = new FusionCharts("para1", "para2", "para3", "para4");  


    &#160;&#160;&#160;&#160;&#160; Para1:默示的是SWF文件的地址



    &#160;&#160;&#160;&#160;&#160; Para2:该图形的ID,这个可以随便定名,然则须要包管它的独一性

    &#160;&#160;&#160;&#160;&#160; para3:图形的高度。



    &#160;&#160;&#160;&#160;&#160; Para4:图形的长度。



     var myChart = new FusionCharts("../FusionCharts/Doughnut3D.swf", "myChartId_02", "600", "500");  


    &#160;&#160;&#160;&#160;&#160; 第四步:设置数据文件



    myChart.setDataURL("Data.xml");


    &#160;&#160;&#160;&#160; 第五步:指定图形衬着的地位。



    myChart.render("chartdiv_01");


    &#160;&#160;&#160;&#160;&#160; 经由过程上方五个步调就是完成js加载FusionCharts图形。若是须要加载多个图形,只须要反复第二步—第五步,然则须要确保DIV和FusionCharts对象的id的独一性。如:



                 <div id="chartdiv_02" align="center"></div>
    
    <script type="text/javascript">
    var myChart = new FusionCharts("../FusionCharts/Doughnut3D.swf", "myChartId_02", "600", "500");
    myChart.setDataURL("Data.xml");
    myChart.render("chartdiv_02");


    二、应用dataXML加载数据



    &#160;&#160;&#160;&#160;&#160; 前面所讲的xml数据文件都是一个零丁的xml文件,这个文件可能会被一个或者多个法度应用,同时这个文件也是静态的。然则我们在实际需求中可能不许哟啊零丁的文件且数据是动态的,这时我们就可以应用dataXML办法来进行调用。注:dataURL也可以应用动态的数据文件。



    &#160;&#160;&#160;&#160;&#160; dataXML和dataURL都可以供给数据,只不过dataURL是将数据文件以URL地址的情势,而dataXML则是以XML文本的情势。说的直白点就是dataURL将xml文件的地址告诉FCF,而dataXML是将XML数据文件里的内容告诉FCF。



    下面的实例是应用dataXML加载数据文件。此中setDataXML()方面的参数是一个完全的XML字符串。



    myChart.setDataURL(<graph caption=每月发卖额柱形图 xAxisName=月份 yAxisName=Units showNames=1 decimalPrecision=0 formatNumberScale=0>
    
    <set name=一月 value=100 color=AFD8F8 />
    <set name=二月 value=200 color=F6BD0F />
    <set name=三月 value=300 color=8BBA00 />
    <set name=四月 value=120 color=FF8E46 />
    <set name=蒲月 value=220 color=008E8E />
    <set name=六月 value=330 color=D64646 />
    <set name=七月 value=210 color=8E468E />
    <set name=八月 value=544 color=588526 />
    <set name=九月 value=565 color=B3AA00 />
    <set name=十月 value=754 color=008ED6 />
    <set name=十一月 value=441 color=9D080D />
    <set name=十二月 value=654 color=A186BE />
    </graph>");


    三、setDataXML()的题目



    &#160;&#160;&#160;&#160;&#160; 我们知道浏览器对参数的获取一般都有一个长度的限制,若是XML字符串数据过大,可能会导致题目,貌似下钻到时辰若是有中文会呈现题目(在此次项目中,下钻中文老是传递不畴昔,不知道各位有没有碰到过如许的题目,求解!!)。



    &#160;&#160;&#160;&#160;&#160; 所以在实际的应用中一般都是推荐这种体式格式:setDataURL()办法,应用javascript来加载图形。不过在应用setDataURL时,若是地址里面包含有”?”、”&”等字符时,须要进行转码操纵。对于java而言推荐应用URLEncoder.encode()来进行编码。

    我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
    分享到: