Как встроить динамический аннотированный график времени непосредственно в Google Sheets - PullRequest
0 голосов
/ 23 января 2019

Google Sheets предлагает только одну временную диаграмму в предложениях акций - я нашел опцию временной шкалы в google.visualizations, которая позаботится о том, что я ищу, за исключением того, что я не пытаюсь опубликовать это извне - я хочупостроить это в моем текущем отчете, но я не могу понять, как интегрировать пример кода с помощью сценариев.(Ссылка на временную шкалу: https://developers.google.com/chart/interactive/docs/gallery/timeline).

Я только попытался использовать пример кода, просто чтобы посмотреть, сработал ли он, но безуспешно. Я также попытался удалить раздел .addrows для динамического обновления данных с диапазономс листа, но я не думаю, что я также ввел это правильно. Ниже приведен пример кода

    <html>
      <head>
        <script type="text/javascript"                 
        src="https://www.gstatic.com/charts/loader.js"></script>
        <script type="text/javascript">
          google.charts.load('current', {'packages':['timeline']});
          google.charts.setOnLoadCallback(drawChart);
          function drawChart() {
            var container = document.getElementById('timeline');
            var chart = new google.visualization.Timeline(container);
            var dataTable = new google.visualization.DataTable();

            dataTable.addColumn({ type: 'string', id: 'President' });
            dataTable.addColumn({ type: 'date', id: 'Start' });
            dataTable.addColumn({ type: 'date', id: 'End' });
            dataTable.addRows([
              [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
              [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
              [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);

            chart.draw(dataTable);
          }
        </script>
      </head>
      <body>
        <div id="timeline" style="height: 180px;"></div>
      </body>
    </html>

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

1 Ответ

0 голосов
/ 23 января 2019

вы можете использовать класс запросов для извлечения данных из листа -> google.visualization.Query

см. Следующий рабочий фрагмент ...

google.charts.load('current', {
  packages:['timeline', 'table']
}).then(function () {
  var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1bIydJJY_-H9NHHhxca9U-jNmKjYUkln14v20N7klAGg/edit?usp=sharing');
  query.setQuery('select E,A,C');
  query.send(handleQueryResponse);

  function handleQueryResponse(response) {
    if (response.isError()) {
      console.log('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
      return;
    }

    var container = document.getElementById('timeline');
    var chart = new google.visualization.Timeline(container);
    var dataTable = response.getDataTable();
    chart.draw(dataTable);
  }
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="timeline"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...