Синтаксис Google Scripts Chart и как мне раскрасить свечную диаграмму - PullRequest
3 голосов
/ 08 марта 2019

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

Насколько я понимаю, в соответствии с синтаксисом: A photo from the documentation Чтобы установить цвет подсвечников на зеленый, я бы сделал:

.setOption('candlestick', {risingColor: {fill: '#31d831'}})

Однако это не работает!Я бы предположил, что синтаксис работает так:

candlestick.risingColor.fill
└────┬────┘ └────┬────┘ └──┴──────────────┐
     └───────┐   └──────────┐             │
.setOption('candlestick', {risingColor: {fill: '#31d831'}})

Я сделал это предположение, потому что этот код здесь работает:

.setOption('vAxes', {0: {viewWindow: {min: 1}}})

Его документация похожа

enter image description here

vAxis.viewWindow.min
└─┬─┘ └────────┬┘└─┴───────────────────┐
  └──────────┐ └──────────┐            │
.setOption('vAxes', {0: {viewWindow: {min: 1}}})
                     |
┌────────────────────┴──────────────────────────────┐
This zero refers to the data set I would like to edit

При наборе текста я также понял, что набрал Axis неправильно, как Axes, однако это работает Даже черезв документации написано Axis

Я в замешательстве и нигде не могу найти ответ 1032 * Мой Google-фу мог быть слабым, но я просто не могу понять это.

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

Заранее спасибо, любая помощь будет принята с благодарностью!

Редактировать: Вот код, который я использую для создания своей диаграммы:

var chart = data.newChart()
    .setChartType(Charts.ChartType.CANDLESTICK)
    .addRange(candle.getRange("a:e"))
    .setOption('vAxes', {0: {viewWindow: {min: smallestValue-1, max: largestValue+1}}})
    .setOption('candlestick', {risingColor: {stroke: '#31d831'}, fallingColor: {stroke: '#d83131', fill: '#ffffff'}}) // This is the line that doesn't work because I am unsure of the syntax!
    .setOption('height', 735)
    .setOption('width', 1175)
    .setPosition(1, 1, 0, 0)
    .build()

candle.insertChart(chart)

Этот синтаксис отличается от синтаксиса во втором ответе в возможный дубликат . принятый ответ в этом возможном дубликате просит пользователя экспортировать диаграмму и получить параметры оттуда после создания ее с графическим интерфейсом диаграмм в Google Sheets.Однако вы не можете редактировать цвета в графическом интерфейсе листов Google для диаграммы Candlestick!Я знаю, что раскраска для подсвечника возможна, как это делает пример в документации (этот синтаксис здесь не работает при использовании .setOption (), как объяснено в моем первоначальном вопросе)

IЯ также попробовал этот синтаксис, который можно увидеть в этом вопросе :

var chart = data.newChart()
    .setChartType(Charts.ChartType.CANDLESTICK)
    .addRange(candle.getRange("a:e"))
    .setOption('vAxes', {0: {viewWindow: {min: smallestValue-1, max: largestValue+1}}})
    .setOption('candlestick.risingColor.stroke', '#31d831')
    .setOption('candlestick.fallingColor.stroke', '#d83131')
    .setOption('candlestick.fallingColor.fill', '#ffffff')
    .setOption('height', 735)
    .setOption('width', 1175)
    .setPosition(1, 1, 0, 0)
    .build()

candle.insertChart(chart)

Однако это тоже не работает

Окончательное редактирование для всех остальных: я пришел квывод, что невозможно сделать то, что я пытаюсь сделать, и с помощью TheMaster он указал мне в направлении использования и , воспользовавшись боковой панелью У меня естьдобавил это как редактирование вместо ответа, так как, возможно, это когда-нибудь станет возможным, и если это произойдет, было бы хорошо получить правильный ответ.

Удачи всем, кто изучит это в будущем,держите меня в курсе его возможностей!

...