Нужны всплывающие подсказки: измените существующие данные Google-листа в DataTable - PullRequest
0 голосов
/ 04 декабря 2018

Проблема: Вся документация, которую я вижу, использует DataTable, который записывает данные в сам скрипт.Мне нужно вызвать данные всплывающей подсказки из существующих строк.Мне нужно понять разницу в коде между страницей HTML и встроенной диаграммой в листе Google.

Цель: У меня есть точечная диаграмма, для которой нужны настраиваемые всплывающие подсказки.Мне нужно, чтобы данные из столбца Q отображались в виде всплывающей подсказки, при наведении курсора на данные в столбце R и S вставьте диаграмму, используя этот код плюс подсказку:

    function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[11];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.SCATTER)
     .addRange(sheet.getRange('R3:S5000'))
     .addRange(sheet.getRange('Q3:Q5000'))

     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

-OR-

 function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('string', 'Year');
        dataTable.addColumn('number', 'Sales');
        // A column for custom tooltip content
        dataTable.addColumn({type: 'string', role: 'tooltip'});
        dataTable.addRows([
          ['2010', 600,'$600K in our first year!'],
          ['2011', 1500, 'Sunspot activity made this our best year ever!'],
          ['2012', 800, '$800K in 2012.'],
          ['2013', 1000, '$1M in sales last year.']
        ]);

        var options = {
          tooltip: {isHtml: true},
          legend: 'none'
        };
        var chart = new google.visualization.ColumnChart(document.getElementById('col_chart_html_tooltip'));
        chart.draw(dataTable, options);
      }

ссылки: https://developers.google.com/chart/interactive/docs/reference#DataView https://developers.google.com/chart/interactive/docs/customizing_tooltip_content#tooltip-actions https://developers.google.com/chart/interactive/docs/spreadsheets

1 Ответ

0 голосов
/ 04 декабря 2018

во встроенной диаграмме используйте определение представления данных, чтобы добавить роль подсказки ...

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

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[11];

  // build the data view definition
  var COLUMN_SPEC = [
    0,
    1,
    {sourceColumn: 2, role: 'tooltip'}
  ];
  var viewSpec = Charts.newDataViewDefinition()
     .setColumns(COLUMN_SPEC)
     .build();

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.SCATTER)
     .setDataViewDefinition(viewSpec)
     .addRange(sheet.getRange('R3:S5000'))
     .addRange(sheet.getRange('Q3:Q5000'))

     .setPosition(5, 5, 0, 0)
     .build();

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