我正在使用AmCharts 4创建带有外部数据的散点图,并使用此代码指向外部URL:
dataURL = 'http://somesite.com/page?params=1234';
ScatterChart.dataSource.disableCache = true;
ScatterChart.dataSource.url = dataURL;
图表加载;但是,每次加载图表时,它都会给我一组不同的数据,并且始终会丢失我期望的大量数据。当我转到dataURL
时,外部数据将在大约20秒的时间内下载到其URL中。我认为它不是在等待数据源页面在绘制图形之前完成信息的下载。
是否有一种方法可以强制AmCharts在绘制图表之前等待数据源完成加载?
这是dataURL
的网络视图的屏幕截图:
答案 0 :(得分:1)
离开该项目一段时间,但最近又重新开始,并确定图表仅显示某些数据点的原因是由于数据的排序顺序,而不是由于数据加载的任何超时。
在这种情况下,我将描述构建带有日期X轴和值Y轴的散点XY图表时发生的情况。
The documentation说,由于线的连接方式混乱,顺序对于线系列可能很重要,但是它并没有说不会显示乱序数据。当我进行实验时,我发现情况不一定如此。
当我按日期X轴升序排序时,所有数据都会显示。
<suffixes>(?<!Integration)(Test|Tests|Spec)</suffixes>
当我不按日期对数据进行排序时,它只会显示我的一些信息。
按日期列排序时,降序仅在图表上显示一个数据点。
data = data.sort((a, b) => a['DateX'] < b['DateX'] ? -1 : a['DateX'] < b['DateX'] ? 1 : 0)
最后,如果您遇到这种情况,请确保先对数据进行排序,然后再将其发送到图表。