Там нет встроенного способа создать диаграмму, используя массив прямо в данные.
Но вы можете создать небольшую работу, используя Chart.js plugins. Они позволяют обрабатывать события вызвали в течение всего создания диаграммы, такие как, прежде чем он инициализируется, после изменения размера и т.д.
Следит небольшой плагин, который будет заполнять все данные для вас с помощью массива:
var myPlugin = {
// We edit what is happening before the chart is initialized.
beforeInit: function(chart) {
var data = chart.config.data;
// `APIarray` is what you get from your API.
// For every data in this array ...
for (var i = 0; i < APIarray.length; i++) {
// Populate the labels array with the first value ..
data.labels.push(APIarray[i][0]);
// .. and the data with the second value
data.datasets[0].data.push(APIarray[i][1]);
}
}
};
Затем вам нужно добавить только что созданный плагин к вашим услугам плагина Chart:
Chart.pluginService.register(myPlugin);
Убедитесь, что зарегистрировать плагин
перед тем создания диаграммы (
перед вызовом
new Chart()
), иначе это не сработает.
Я также предлагаю иметь пустые данные в вашем графике (до того, как появится плагин), чтобы убедиться, что у вас нет данных, которые вы не хотите.
Вы можете увидеть полностью рабочий пример on this jsFiddle.
Почему вы не используете общий синтаксис? Вы получаете массив из API? – tektiv
@Тектив действительно я. – Alvaro
Кроме того, я также использую highcharts, где вы можете выбрать оба способа для свойства 'data'. – Alvaro