週末プログラミングとしてやったことを書いておきます。
Google Apps ScriptでLINE botを作れたので、GASを勉強中です。
スプレッドシートとGoogle Apps Scriptを組み合わせることができるのも、GASのメリットです。
スプレッドシートで作成したグラフを操作してみます。
グラフを取得して画像を保存する
まず、スプレッドシートにすでにグラフがあるとします。それをGASで取得して、Googleドライブに保存します。
これも先駆者がいますので、真似るだけでした。
Google Apps ScriptでスプレッドシートのグラフをGoogleドライブに保存する
上記のスクリプトを実行するだけで、スプレッドシート上にあるグラフが、問題なく同じフォルダに保存されました。
GASでグラフの軸の範囲を修正する
ただ、GASを通してグラフを取得すると、スプレッドシート上の設定がリセットされて、グラフの軸がデフォルト状態に戻ってしまうようです。
これは困りました。グラフの原点は揃えるのが重要です。原点が変動してしまうと、視覚的に誤解を生んでしまう可能性が出てきます。
データ視覚化のポイント#7
グラフの基本中の基本、棒グラフの原点は0にする。
棒グラフは視覚的な比較を棒の面積に依存しているので、データの差を際立たせようとして原点をいじってしまうと嘘グラフになる。
印象操作と取られると信頼を失ってしまう事もあるので注意が必要。#goando_datasketchpic.twitter.com/8Mo0lNEu6h
ので、こちらを参考に、取得したグラフを再度変更することにしました。
GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (1/2):Excel VBAプログラマーのためのGoogle Apps Script入門(8) – @IT
グラフのオプション指定として、
.setOption(‘vAxis.viewWindow.min’, 0)
とすれば、Y軸をゼロにできます。
Google Spreadsheet, Google Drive, Google Apps Scriptでレポーティングの簡単自動化 – Reports
それで軸の開始をゼロにすることができました。
が、2系列使っている場合、両方の軸がゼロにセットされてしまいました。2系列の場合は、どちらのシリーズであるかを明確に指定する必要があります。こちらの記事に、系列ごとの指定が書いてありました。
こんな感じです。
.setOption(‘vAxes’, {0: {title: ‘€’, format: ‘short’, textStyle: {fontSize: 10}, titleTextStyle: {fontSize : 8}, viewWindow: {min: 79000000}}})
これでグラフの修正が完了です。
GASは簡単なスクリプトで作成できること、Googleドライブと連携できること、ウェブサーバーに使えることが良いですね。