質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

6691閲覧

GAS言語 折れ線グラフ 縦軸範囲指定

nissyan

総合スコア15

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/08/28 15:03

折れ線グラフの縦軸範囲を狭めたいです。
0400の値 → 200maxに指定

BEFORE

イメージ説明

AFTER

イメージ説明

スクリプトコード

function Graph() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
var sheetName = sheet.getSheetByName('小島');
var range = sheetName.getRange(2,1,15,3);
var chart = sheetName.newChart()
.addRange(range)
.asLineChart()
.setChartType(Charts.ChartType.LINE)
.setPosition(17,1,0,0)
.setOption('title','小島コール数')
.setOption('curveType', 'none')
.setOption('titleTextStyle.alignment', 'center')
.setOption('colors', ['#0023FF', '#FF5FF4'])
.setOption('series.0.pointSize', 10)
.setOption('series.0.dataLabel', 'value')
.setOption('width', 520)
.setOption('height', 320)
.setOption('hAxis.textStyle.fontSize', 13)
.setOption('series.0.labelInLegend', 'コール数')
.setOption('series.1.labelInLegend', '基準線')
.setOption('series.0.lineWidth', 3);

sheetName.insertChart(chart.build());
}
試したこと

①マクロを記録して,縦軸を手作業で修正。
記録されたスクリプトで足りないとこを追加
→setRange(200,Nan)を追加するがエラー。
②Graphfunction→実行→macroGraph→実行するがエラー

function macroGraph() {
const sheet = SpreadsheetApp.getActiveSpreadsheet()
var sheetName = sheet.getSheetByName('HOGE');
var range = sheetName.getRange(2,1,15,3);
var chart = sheetName.newChart()
.addRange(range)
.asLineChart()
.setChartType(Charts.ChartType.LINE)
.setPosition(17,1,0,0)
.setOption('title','小島コール数')//ラベル表示
.setOption('curveType', 'none')//線の形状
.setOption('titleTextStyle.alignment', 'center')
.setOption('colors', ['#0023FF', '#FF5FF4'])
.setOption('series.0.pointSize', 10)
.setOption('series.0.dataLabel', 'value')
.setOption('width', 520)
.setOption ('vAxes.viewWindow.min', 200)
.setOption ('vAxes.viewWindow.max', 400)
.setOption('series.0.hasAnnotations', true)
.setOption('height', 320)
.setOption('hAxis.textStyle.fontSize', 13)
.setOption('series.0.labelInLegend', 'コール数')
.setOption('series.1.labelInLegend', '基準線')
.setOption('series.0.lineWidth', 3);

sheetName.insertChart(chart.build());
}

③ 以下のメソッドで実行するが、トリミングされた状態。
.setOption ('vAxes.0.viewWindow.min', 200)
.setOption ('vAxes.0.viewWindow.max', 400)
.setOption('vAxis.format', 'short')
------------------------------------------------イメージ説明

以上、ご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

他の方の質問を見るとわかりますが、コードは <code>ボタンを押して記述しないと読みづらいです。

試しに動かしてみましたが、マクロ記録で登場する setRange がエラーになりますね。記述を変えるとエラーにならないけど、反映されなかったり。過去にも同様の事象があったようで、リファレンスに載ってるのに使えないというのは、よくわかりません。

過去の似たような質問
https://teratail.com/questions/171035

③ 以下のメソッドで実行するが、トリミングされた状態。
.setOption ('vAxes.0.viewWindow.min', 200)
.setOption ('vAxes.0.viewWindow.max', 400)
.setOption('vAxis.format', 'short')

これを少し変えて以下のようにすると、希望されるグラフの形になるかと思います。

.setOption ('vAxes.0.viewWindow.min', 200) //上限は設定しないなら maxの指定は不要 .setOption('vAxes.0.viewWindowMode', 'explicit') // これが「範囲外のデータを表示しない」のチェックに該当

投稿2020/08/31 04:15

sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nissyan

2020/08/31 08:08

sawa様 ありがとうございます。 思い通りの動きになりました。毎度ご対応いただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問