У меня есть диаграмма с некоторыми данными, загруженными через запрос ajax через
chart.dataSource.url = "...my url...";
Это работает, пока я указываю каждую линию, которую хочу нарисовать так.
var chartLine1 = chart.series.push(new am4charts.LineSeries());
chartLine1.dataFields.valueY = "pies_eaten";
chartLine1.dataFields.dateX = "date";
Но у меня есть переменное количество строк на основе результатов загрузки источника данных. Можно ли получить массив данных/объект до отображения диаграммы или заставить amCharts создать одну строку для поля?
Пожалуйста, ознакомьтесь с нашим руководством по работа с внешними данными. Используя событие 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
Не могли бы вы поделиться примерными данными?