Линейные диаграммы Google

#google-visualization

#google-визуализация

Вопрос:

В настоящее время я импортирую данные из таблицы Google, чтобы редакторы могли вносить простые обновления.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу отобразить метки / аннотации на графике. Я бы хотел, чтобы отображалось название столбца, в идеале название и данные, если это возможно.

Любая помощь приветствуется. https://jsfiddle.net/rwhammond/g0fvw3do/8

       google.charts.load("current", {
    packages: ['corechart']
  });
  google.charts.setOnLoadCallback(initialize);

  function initialize() {
    // The URL of the spreadsheet to source data from.
    var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1uD7OFv6xDKJdvB7gLBm5WMjeE8442NWZE3XP8gvpqhc/edit#gid=0amp;range=A1:I7');
    query.send(draw);
  }

  function draw(response) {
    var ticketsData = response.getDataTable();
    var options = {
        legend: 'top',
    };
    var view = new google.visualization.DataView(ticketsData);
    view.setColumns([0, 1, {
        calc: "stringify",
        sourceColumn: 1,
        type: "string",
        role: "annotation"
    }]);
    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(ticketsData, options, view);
  }
  

Ответ №1:

первым аргументом draw метода должна быть таблица данных / представление.
в этом случае замените ticketsData на view

 chart.draw(view, options);
  

Комментарии:

1. 100% спасибо, поэтому мне просто нужно изменить: view.setColumns([0, 1, { calc: «stringify», исходная колонка: 1, тип: «строка», роль: «аннотация»}, 2, { calc: «stringify», исходная колонка: 1, тип: «строка», роль: «аннотация» } ]);

Ответ №2:

Спасибо whitehat за помощь. просто нужно добавить данные json для каждого столбца. Если вы хотите это сделать, я также добавил еще один столбец со строками заголовка в качестве столбцов, чтобы отобразить обе части данных.

 google.charts.load("current", {
    packages: ['corechart']
  });
  google.charts.setOnLoadCallback(initialize);

  function initialize() {
    // The URL of the spreadsheet to source data from.
    var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1uD7OFv6xDKJdvB7gLBm5WMjeE8442NWZE3XP8gvpqhc/edit#gid=0amp;range=A1:I7');
    query.send(draw);
  }

  function draw(response) {
    var ticketsData = response.getDataTable();
    var options = {
        legend: 'top',
    };
    var view = new google.visualization.DataView(ticketsData);
    view.setColumns([0, 
        1,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      2,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      3,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      4,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      5,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      6,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
      7,
        {
      calc: "stringify",
      sourceColumn: 1,
      type: "string",
      role: "annotation",
      },
      {
      calc: "stringify",
      sourceColumn: 9,
      type: "string",
      role: "annotation",
      },
    ]);

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(view, options );
  }