Задайте ось с данными json anychart. js - PullRequest
1 голос
/ 04 марта 2020

Я новичок в любой диаграмме js, и я столкнулся с некоторыми трудностями. У меня есть json файл, который загружается из API. Этот json файл содержит информацию о статистике игроков nba. Вот мой json файл:

https://www.balldontlie.io/api/v1/stats

Я хочу получить данные о дате по оси X. Как я могу решить это?

function getData() {
  axios.get("https://www.balldontlie.io/api/v1/stats").then(response => {
    var tab = [];
    for (item of response.data.data) {
      tab.push([item.date, item.fga]);
    }

    anychart.onDocumentReady(function() {
      var month = [];
      for (item of response.data.data) {
        month.push(item.date.split('-'));
      }

      var data = tab;
      var chart = anychart.line();
      var serie = chart.line(data);
      chart.yScale().minimum(0);
      chart.yScale().maximum(50);
      chart.container("container");
      chart.draw();

    });

  });

}

getData();

1 Ответ

1 голос
/ 04 марта 2020

Свойство date можно найти в ключе item.game.date. Чтобы заработать месяц, вы можете использовать Интернационализация API , чтобы преобразовать его в нужный вам язык.

Я изменил код, чтобы он напоминал примеры кода в документации Anychart. Этот пример должен дать вам массив с массивами, в которых есть значения [month, fga]. Согласно этот пример в документах должен работать.

function getData() {
  return axios.get("https://www.balldontlie.io/api/v1/stats").then(response => {
    var tab = response.data.data.map((item) => {
      var date = new Date(item.game.date);
      var month = date.toLocaleString('en-US', { month: 'long' });
      return [month, item.fga];
    });
    return tab;
  });
}

anychart.onDocumentReady(function() {
  getData().then(data => {
    var chart = anychart.line();
    var serie = chart.line(data);
    chart.yScale().minimum(0);
    chart.yScale().maximum(50);
    chart.container("container");
    chart.draw();
  });
});
...