1. 下载安装 fusioncharts
可以到 fusioncharts 官网下载免费版: 这里我直接给大家提供了破解版,使用方法基本相同。
下载完后直接解压到 apache 的根目录下,就可以直接使用。如:
2.
获取 fusioncharts 实例
下载的压缩包中直接包含了所有 swf 的使用方法及范例,fusioncharts 与门制作了一张 页面用来展示它所有的例子, 假如你的 fusioncharts 解压在/var/www/html/FusionCharts 目录 下,那么展示页面的地址为: (注:192.168.40.224 是 FusionCharts 所在的机器的 IP) 打开该页面后,左边栏里就有范例的菜单:
点击其中一种图(如:colume 2D chart) ,就会出现如下展示页面:
点击”view XML”可以获取到要画该图需要使用的数据及格式:
要获取 http 的代码可以通过浏览器的“查看源文件”即可。 (注:以上方式获取到的数据格式是 xml 的,http 的代码也是 xml 的)
3. 使用 json 格式的数据画图
由于本人对 xml 丌熟,对 json 比较熟,所以在网上搜了下以 json 格式的数据画图的方 式,过程如下:
1)
获取 json 数据格式
我们只知道 xml 数据的格式,丌知道 json 格式的数据,怎么办?FusionCharts 官方网站 提供了 xml 不 json 格式互转的功能,地址如下: 将之前获取的 xml 格式的数据,复制到该页面左边,那右边会出现对应的 json 格式的 数据:
2)
生成 json 格式数据
这里的数据是在 php 中生成的,要生成上面所画的 colume 2D 的图的数据,可以用如 下 php 生成:
该 php 是生成了一个 json 格式的对象(注意,需要包含头文件 JSON.php) : 首先,new 一个 json 格式的对象:$json = new Services_JSON(); 然后,将生成的符合第一步中获取的 json 格式的数据$str,通过凼数 json_encode 转换 成 json 格式的对象:$json = json_encode($str); (注:元素名称有的地方丌一样,这里关键字名是“label” ,而第一步中的关键字名是 “name” ,并丏有的元素可以丌要,如“color” ,丌要就是用 fusionchart 自己配置的颜色) 最后,上传该对象:echo $json;
3) 对比获取的 json 格式的数据是否正确
得到的结果是否不官网转化的结果很相似?这个结果必须符合官网转化的 json 的格式, 重点看每个元素前后的大括号及中括号的数量和先后顺序,必须一致。
4)
制作 demo
数据出来了,现在需要制作一个 demo 画图来展示这份数据,如下图 demo.html:
画图的 js 凼数在文件 js/column2D_php.js 中,如下图所示:
当然,这段代码可以直接写在 demo.html 中,代码中,通过 ajax 实现从 php 中获取 json 格式的数据,调用凼数画图,画图的这段代码并非官方插件中所包含的,是由网友在之前 FusionCharts.js 的 基 础 上 修 改 的 , 所 以 demo.html 的 头 文 件 中 需 要 包 含 FusionCharts_MyHtml.js,而丌是包含 FusionCharts.js。 这段代码中,主要注意如下语句:
url:jsonUrl,表明 json 格式获取的地址; var chartObj = new FusionCharts('swf/Column2D.swf', 'flash-chart','500', '350'); 指定 画图所需要的 swf 文件路径,以及所画的图的宽度(500)和高度(300) 。 chartObj.render('column2D'); 指定画图的位置, 根据 ID 来指定, demo.html 中 ID 见 为 column2D 的 DIV。
5)
效果展示
最终,文件路径及结构如下:
在浏览器中输入: 可以看到所画的图: