Как создать диаграмму с переменным количеством строк на основе данных, загруженных через chart.dataSource.url - PullRequest
1 голос
/ 14 июня 2019

У меня есть диаграмма с некоторыми данными, загруженными через запрос ajax через

chart.dataSource.url = "...my url...";

Это работает до тех пор, пока я указываю каждую линию, которую хочу нарисовать следующим образом.

var chartLine1 = chart.series.push(new am4charts.LineSeries());
chartLine1.dataFields.valueY = "pies_eaten";
chartLine1.dataFields.dateX = "date";

Но у меня есть переменное количество строк в зависимости от результатов загрузки источника данных. Можно ли получить массив / объект данных до визуализации диаграммы или заставить amCharts создать одну строку для поля?

1 Ответ

1 голос
/ 22 июня 2019

Пожалуйста, ознакомьтесь с нашим руководством по манипулированию внешними данными .Используя событие dataSource "parseended", вы можете манипулировать data напрямую или переназначить его до того, как он будет передан на график для потребления.

Например, наша демонстрация включенаиспользуя JSON dataSource имеет данные за 2004-2012 гг., мы можем просто передать новый массив в dataSource s data:

chart.dataSource.events.on("parseended", function(event) {
  // Original demo originally has 19 data items, ranging from 1994 through 2012,
  // this should set it to 1999 through 2008:
  event.target.data = event.target.data.slice(5,15);
});

. С вышеизложенным, он покажетстрока с 1999 по 2008 год:

https://codepen.io/team/amcharts/pen/6a0026c6cc01406db3a178bd6dd3f931

...