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

前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT> 和<EMBED>标记来加载图形的,但是这样做是非常不“理智”的。这样做除了代码量比较大外,还有并不是所有的人能够看懂上面的代码。但是 使用JS后就可以避免上面几个问题了。

一、使用JS加载FusionCharts图形

下面就分五个步骤讲解如何使用js来加载FusionCharts图形。

第一步:导入FusionCharts.js文件

[javascript] view plaincopyprint?

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

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

[javascript] view plaincopyprint?

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

第三步:建立一个FusionCharts对象

[javascript] view plaincopyprint?

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

Para1:表示的是SWF文件的地址

Para2:该图形的ID,这个可以随便命名,但是需要保证它的唯一性
      para3:图形的高度。

Para4:图形的长度。

[javascript] view plaincopyprint?

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

第四步:设置数据文件

[javascript] view plaincopyprint?

  1. myChart.setDataURL("Data.xml");

第五步:指定图形渲染的位置。

[javascript] view plaincopyprint?

  1. myChart.render("chartdiv_01");

通过上面五个步骤就是完成js加载FusionCharts图形。如果需要加载多个图形,只需要重复第二步—第五步,但是需要确保DIV和FusionCharts对象的id的唯一性。如:

[javascript] view plaincopyprint?

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

二、使用dataXML加载数据


面所讲的xml数据文件都是一个单独的xml文件,这个文件可能会被一个或者多个程序使用,同时这个文件也是静态的。但是我们在实际需求中可能不许哟啊单
独的文件且数据是动态的,这时我们就可以使用dataXML方法来进行调用。注:dataURL也可以使用动态的数据文件。

dataXML和dataURL都可以提供数据,只不过dataURL是将数据文件以URL地址的形式,而dataXML则是以XML文本的形式。说的直白点就是dataURL将xml文件的地址告知FCF,而dataXML是将XML数据文件里的内容告知FCF。

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

[javascript] view plaincopyprint?

  1. myChart.setDataURL(<graph caption=‘每月销售额柱形图‘ xAxisName=‘月份‘ yAxisName=‘Units‘ showNames=‘1‘ decimalPrecision=‘0‘ formatNumberScale=‘0‘>
  2. <set name=‘一月‘ value=‘100‘ color=‘AFD8F8‘ />
  3. <set name=‘二月‘ value=‘200‘ color=‘F6BD0F‘ />
  4. <set name=‘三月‘ value=‘300‘ color=‘8BBA00‘ />
  5. <set name=‘四月‘ value=‘120‘ color=‘FF8E46‘ />
  6. <set name=‘五月‘ value=‘220‘ color=‘008E8E‘ />
  7. <set name=‘六月‘ value=‘330‘ color=‘D64646‘ />
  8. <set name=‘七月‘ value=‘210‘ color=‘8E468E‘ />
  9. <set name=‘八月‘ value=‘544‘ color=‘588526‘ />
  10. <set name=‘九月‘ value=‘565‘ color=‘B3AA00‘ />
  11. <set name=‘十月‘ value=‘754‘ color=‘008ED6‘ />
  12. <set name=‘十一月‘ value=‘441‘ color=‘9D080D‘ />
  13. <set name=‘十二月‘ value=‘654‘ color=‘A186BE‘ />
  14. </graph>");

三、setDataXML()的问题

我们知道浏览器对参数的获取一般都有一个长度的限制,如果XML字符串数据过大,可能会导致问题,貌似下钻到时候如果有中文会出现问题(在这次项目中,下钻中文总是传递不过去,不知道各位有没有遇到过这样的问题,求解!!)。


以在实际的应用中一般都是推荐这种方式:setDataURL()方法,使用javascript来加载图形。不过在使用setDataURL时,如果地
址里面包含有”?”、”&”等字符时,需要进行转码操作。对于java而言推荐使用URLEncoder.encode()来进行编码。

时间: 2024-12-18 07:21:26

FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据的相关文章

FusionCharts简单教程(一)---建立第一个FusionCharts图形

因为项目需求须要做一个报表,选择FusionCharts作为工具使用.因为曾经没有接触过报表,网上也没有比較具体的fusionCharts教程,所以决定好好研究FusionCharts,同一时候做一个比較简单的教程提供參考.因为能力有限(应届毕业生的菜鸟而已),所以教程(学习笔记而已)不免会有错误,望别喷,望指正.当然肯定避免不了会參考其它资料的. 一.FusionCharts简单介绍和安装使用 1.1.简单介绍 FusionCharts是InfoSoft Global公司的一个产品,而Fusi

canvas加载图像

之前按照例子,加载图像,发现加载图像,加载不上去,代码也没有错误,经过几次的尝试:发现需要重复调用下drawImage才可以. <script type="text/javascript"> var c=document.getElementById("Canvas"); var cxt=c.getContext("2d"); var img=new Image() img.src="1.png" cxt.draw

JS模块化工具requirejs教程(二):基本知识

前一篇:JS模块化工具requirejs教程(一):初识requirejs我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短 define 从名字就可以看出这个api是用来定义一个模块 require 加载依赖模块,并执行加载完后的回调函数 前一篇中的a.js:

【转】JS模块化工具requirejs教程(二):基本知识

前一篇:JS模块化工具requirejs教程(一):初识requirejs 我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等. 基本API require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短 define 从名字就可以看出这个api是用来定义一个模块 require 加载依赖模块,并执行加载完后的回调函数 前一篇中的a.j

Google Chrome 调试JS简单教程[更新]

题外话,刚开始我写这篇内容只是将自己了解的一些知识放上来,不巧的是我分析了我的来访日志,很多朋友都有这个需求,为了大家没有白来,我决定充实下这篇文章.最近更新时间2014-02-14 chrome版本: 32.0.1700.107 m 我是一名忠实Chrome迷,使用它已经快有2年的历史了,整体给我的感觉就是清爽,快速,简洁.又打小广告了……^_^,虽然我知道IE8+也有调试工具,包括火狐的什么XXBUG,但是我用过之后,个人还是十分偏爱chrome的debug. chrome对于在前端打拼的兄

easyui日期在未加载easyui-lang-zh_CN.js出现英文的情况下加载中文的方法

我们有时候在操作easyui的时候本来是加载了easyui-lang-zh_CN.js中文文件包,但是还是出现了英文.使得我们不得埋怨这框架咋这么不好用,其实我们仔细看看这个中文包就会发现里面很多都是重新修改了定义语言的参数.假如我们用jquery初始化加载方法$(function(){//这里是我们自定义的操作方法});这个方法里面的东西执行后发现更本没加载我们的中文下面是我写的datetimebox日期控件js代码: $(function () { function adddaytimes(

【转】js JavaScript 的性能优化:加载和执行

JavaScript 的性能优化:加载和执行 转自:https://www.ibm.com/developerworks/cn/web/1308_caiys_jsload/ 随着 Web2.0 技术的不断推广,越来越多的应用使用 JavaScript 技术在客户端进行处理,从而使 JavaScript 在浏览器中的性能成为开发者所面临的最重要的可用性问题.而这个问题又因 JavaScript 的阻塞特性变的复杂,也就是说当浏览器在执行 JavaScript 代码时,不能同时做其他任何事情.本文详

webpack4 系列教程(四): 单页面解决方案--代码分割和懒加载

本节课讲解webpack4打包单页应用过程中的代码分割和代码懒加载.不同于多页面应用的提取公共代码,单页面的代码分割和懒加载不是通过webpack配置来实现的,而是通过webpack的写法和内置函数实现的. 目前webpack针对此项功能提供 2 种函数: import(): 引入并且自动执行相关 js 代码 require.ensure(): 引入但需要手动执行相关 js 代码 本文将会进行逐一讲解. >>> 本节课源码 >>> 所有课程源码 1. 准备工作 此次代码

webpack最简单的入门教程里bundle.js之运行单步调试的原理解析

读这篇文章的朋友,请确保对webpack有最基础的认识. 您可以阅读我前一篇文章:Webpack 10分钟入门 来在本地运行一个Webpack的hello world项目.https://www.toutiao.com/i6612879647568822788/ 我这里可以在回顾一下这个web pack的hello world项目. 用webpack打包之后,项目文件夹里包含了这些资源: index.html的源代码很简单,就包含了一个webpack打包后生成的bundle.js文件: 那么运行