【发布时间】:2018-11-10 00:19:55
【问题描述】:
我正在使用 AmCharts 4 使用外部数据创建散点图,使用此代码指向外部 URL:
dataURL = 'http://somesite.com/page?params=1234';
ScatterChart.dataSource.disableCache = true;
ScatterChart.dataSource.url = dataURL;
图表加载;但是,每次我加载图表时,它都会给我一组不同的数据,而且它总是会丢失我期望的大量数据。当我转到dataURL 时,外部数据会在大约 20 秒的时间内下载到其 URL 中。我认为它不是在绘图之前等待数据源页面完成下载信息。
有没有办法强制 AmCharts 在绘制图表之前等待数据源完成加载?
这是dataURL的网络视图截图:
【问题讨论】:
-
仅供参考,这引起了我们的注意,我们会在有机会查看时通知您。
-
amCharts 4 没有任何内置数据加载超时。它也不会使用仅部分加载的数据启动图表的构建。我怀疑实际数据源可能会发生某些事情,例如可能会遇到一些服务器端执行限制,导致仅生成部分数据。我建议您尝试直接访问数据 URL 并检查它是否完全加载,没有错误 - 在输出和响应标头中。
-
@martynasma 内容在上面截图中的“等待(TTFB)”时间为 1.26 秒后出现在页面上;但是,它在“内容下载”的 21.39 秒内不断加载到页面中。在视觉上,您可以看到滚动条变小,如果您滚动到底部,它将继续加载下面的内容。起初,我尝试通过 Ajax 自己加载数据并将其发送到图表的数据对象,但最终导致浏览器崩溃,内存使用率非常高(数据只有 13Mb)。我最终将图表切换回 AmCharts3 数据加载器,它运行得很快。
-
如果有任何可能有用的诊断信息,请告诉我。我也管理 dataURL。
-
此外,响应或实际输出中没有错误。
标签: javascript amcharts