Google Line Charts - PullRequest
       8

Google Line Charts

1 голос
/ 14 марта 2019

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

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

Любая помощь приветствуется. 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=0&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);
  }

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Спасибо 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=0&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 );
  }
0 голосов
/ 14 марта 2019

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

chart.draw(view, options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...