当你利用FusionCharts创建图表时报错,原因是多方面的。本文总结了一些常见问题及解决方法供大家参考,希望对大家有帮助。
如果你无法看到任何图表:
如果浏览器中的进度条一直加载,或者右键菜单显示 "Movie not loaded",请检查下列内容:
1、是否已将SWF图表和JavaScript文件(FusionCharts.js, FusionCharts.HC.js, FusionCharts.HC.Charts.js和jquery.min.js)复制到所需文件夹中?
2、代码中是否为图表提供了正确的名称和路径?
如果你获取 "Error in Loading Data."提示信息,请检查下列内容:
1、代码中是否提供了正确的XML/JSON数据路径
2、将Data URL粘贴到浏览器中,查看浏览器中是否返回一个有效的XML/JSON。若没有脚本或者超时错误,则返回一个有效的XML / JSON。此外,请确保XML/JSON 没有和HTML内容混合在一起。数据源提供器页返回一个整洁的XML / JSON - 甚至没有HTML<HEAD>或<body>标签。
3、XML/JSON文件命名是否正确,是否包含了.txt扩展名。
4、如果你使用的是文件系统名需要区分大小写的操作系统,请检查你的XML/JSON名称和图表文件。
5、检查你的图表文件 (SWF和JavaScript)和XML/JSON 数据是否在同一个域名或相同的子域名。因为无法进行跨域名的数据加载。
如果你获取 "Invalid Data."提示信息,这意味着,XML/JSON数据格式不正确。常见错误如下:
1、XML/JSON中存在重复的属性。
2、标签不一致。<chart>的结尾标签应该为</chart>,不是</Chart>或者</CHART>。
3、属性中缺少前/后引号,如,<chart numberSuffix=%' 应该写为 <chart numberSuffix='%'
4、元素缺少结尾标签。
5、如果你将双引号作为数据的一部分,它们的编码为" 例如:<set label='John says "Hi" to all.' />
6、如果你将单引号作为数据的一部分,它们的编码为 ' 例如: <set label='John' house' />
7、当使用HTML嵌入和数据字符串的方法时,如果你在数据中使用了特殊字符,请确保它们被正确地编码。
8、当使用HTML嵌入和数据字符串的方法时,检查XML Attribute Character和HTML Parameter Character之间是否有冲突,例如,如果HTML参数使用"作为容器,那么你就需要确保你所有的XML属性则使用'作为容器。
例如:
<param name="FlashVars" value="<chart showLabels='1' showValues='1'>...</chart>" />
如果显示"The chart will appear within this DIV..." 或者 "Chart." 或"FusionCharts XT will load here"等提示信息,请检查下列项目:
1、已将FusionCharts.js, jquery.min.js, FusionCharts.HC.js和FusionCharts.HC.Charts.js 文件复制到正确的文件夹。
2、HTML代码中包含并提供了正确的FusionCharts.js 路径。
3、任何JavaScript语法或运行时错误,都可能会停止执行FusionCharts API。
4、图表的JavaScript变量,图表ID 和HTML DIV的ID 是否唯一?
图表中提示"No data to display"
如果你的图表中提示"No data to display" ,它可能是以下几种情况导致的:
1、XML数据中没有包含FusionCharts XT绘制图表所需的任何数据。此时,你XML只包含<chart>或<dataset>,但是标签之间并没有数据。
2、你使用的可能是一个单系列的图表,但是却提供的多系列格式,反之亦然。此时,图表中就会显示 "No data to display"。
3、在一些双Y组合图中,你至少需要为一个数据集提供两个轴。否则,也会出现"No data to display" 提示。