Вопросы по API Google Chart в Google Sheets - PullRequest
0 голосов
/ 21 февраля 2020

У меня проблемы с работой с диаграммами в моем Google Sheet. Некоторые функции не распознаются GAS при выполнении их на графике. Самый проблемный c один - это setDimensions (), на который ссылаются в каждом официальном документе: / Пример:

sheet.newChart()
     .setChartType(Charts.ChartType.LINE)
     .asLineChart()                           
     .addRange(range1)                   
     .addRange(range2)
     .setDimensions(600, 400)
     .build();

То же самое для некоторых опций, таких как определение градиента оси. Я понял, что есть что-то вроде этого:

.setOption("vAxis.ticks", [10000,20000,40000,60000,70000,80000])
.setOption("vAxis", {0: {ticks: "[10000,20000,40000,60000,70000,80000]"}})
.setOption("vAxis", {ticks: "[10000,20000,40000,60000,70000,80000]"})

Но я пробовал довольно много способов его кодировать, и ничего не работает: / Мне также было интересно, могу ли я пропустить один «тик» из двух на горизонтальная ось, чтобы облегчить вид. Тем не менее, некоторые опции работают просто хорошо.

Другое дело с анимацией (например, для диаграммы). Я плохо понял, возможно ли это в гугл листе? Я вижу некоторые примеры кода с google.visualization, но GAS не распознает его в Google Sheet. Как здесь: https://developers.google.com/chart/interactive/docs/animation Это возможно или нет? Я наконец-то думаю, что это можно сделать, только вставив код html в лист. Это верно? Я был немного разочарован, так как нашел в GAS API do c:

.setOption('animation.duration', 1000);', 1000)

Спасибо за ваши огни!

1 Ответ

1 голос
/ 26 февраля 2020

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

Решения моих проблем во встроенной диаграмме:

Для размеров:

.setOption('width', 1200)
.setOption('height', 650)

Чтобы не печатать все значения оси:

var hAxisOptions = {
    gridlines: {
      count: 10
    }
  };
.setOption('hAxis', hAxisOptions)

Насчет анимации, да, я думаю, что это невозможно, за исключением случаев, когда я сам каким-то образом вставляю HTML

...