AJax技术

使用fusioncharts及ajax画图流程说明

字号+ 作者:H5之家 来源:H5之家 2016-10-13 10:00 我要评论( )

1. 下载安装 fusioncharts可以到 fusioncharts 官网下载免费版: http://www.fusioncharts.com/goodies/fusioncharts-free/ 这里我直接给大家提供了破解版,使用


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)

效果展示

最终,文件路径及结构如下:

在浏览器中输入: 可以看到所画的图:


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评