是否有使用 JqPlot 处理“无数据”的最佳方法?
假设我通过 ajax 调用使用 json 数据,最终没有数据可用,例如:
[['North'][0],['South'][0],['East'][0],['West'][0]]
我总是有一个条件,我检查我的AJAX
函数,它检查没有结果。然后,如果没有结果发生,我会设置一个图表,让它看起来是空的。由于这个原因var data = [[null]]
应该做的,哪里data
是一个参数jQuery.jqplot('chart', data, {})
。的值data
可能取决于图表的类型,因此我对折线图、条形图和饼图进行了测试,效果很好。
或者,您还可以隐藏图例和情节的其他部分。对我来说,只需设置data
和图例就足够了。
var data = [null];
将在控制台中触发错误并进一步停止 JS 脚本执行。更好的解决方案是使用以下内容。
var data = [''];
jQuery.jqplot('chart', data, {});
这将打印任何后续图表和/或继续 JS 脚本执行,在 FF/Chrome/IE 控制台中没有错误。:-)
就我而言,这与 Rahi 的回答相反(也许 null 周围缺少双括号是问题所在),这意味着我同意 Boro;
这有效:var data = [[null]];
并且这:var data = [''];
生成一个错误,无论我有多个图表还是只有一个没有数据。
我正在运行 jqPlot 1.0.9
我得到的错误是:Uncaught Error: No data specified
从 jqPlot 脚本中的条件
if (0 == this.noDataIndicator.show)
throw new Error("No data specified");