AmCharts 4 DataSource: заставляет диаграмму ждать загрузки всех внешних данных - PullRequest
0 голосов
/ 10 ноября 2018

Я использую AmCharts 4 для создания точечной диаграммы с внешними данными, используя этот код для указания на внешний URL:

dataURL = 'http://somesite.com/page?params=1234';
ScatterChart.dataSource.disableCache = true;
ScatterChart.dataSource.url = dataURL;

Диаграмма загружается;однако каждый раз, когда я загружаю диаграмму, она дает мне другой набор данных, и в ней всегда отсутствуют значимые фрагменты данных, которые я ожидаю.Когда я перехожу к dataURL, внешние данные загружаются в его URL в течение примерно 20 секунд.Я думаю, что не нужно ждать, пока страница источника данных завершит загрузку информации, прежде чем строить графики.

Есть ли способ заставить AmCharts дождаться завершения загрузки источника данных перед построением графика диаграммы?

Вот снимок экрана сетевого представления dataURL:

screenshot of the network view

1 Ответ

0 голосов
/ 05 марта 2019

Отошел от этого проекта на некоторое время, но недавно начал заново и решил, что причина, по которой на диаграмме были показаны только определенные точки данных, связана с порядком сортировки данных, а не с каким-либо таймаутом при загрузке данных.

В этом случае я опишу, что произошло, когда я строил точечную XY-диаграмму с осью даты X и осью значения Y.

В документации говорится, что порядок может быть важен для серии линий из-за запутанного способа соединения линий, но не говорится, что неупорядоченные данные не будут отображаться , Когда я экспериментировал, я увидел, что это не обязательно так.

При сортировке по дате X по возрастанию оси все данные отображаются.

data = data.sort((a, b) => a['DateX'] < b['DateX'] ? -1 : a['DateX'] < b['DateX'] ? 1 : 0)

Ascending Sort

Когда я не сортировал свои данные по дате, он отображал только часть моей информации.

No Sort

Когда я сортировал по убыванию по столбцу даты, на моем графике была только одна точка данных.

data = data.sort((a, b) => a['DateX'] > b['DateX'] ? -1 : a['DateX'] > b['DateX'] ? 1 : 0) Descending Sort

Итак, в конце концов, если это произойдет с вами, обязательно отсортируйте данные перед отправкой на график.

...