はじめに:GASとチャート作成の可能性
GAS(Google Apps Script)はさまざまなGoogleサービスと連携でき、多くの作業を自動化できます。しかし実際に実装しようと思うと、どのような「クラス(class)」や「関数(function)」、「メソッド(method)」が用意されているのか分からず、苦戦している人も多いのではないでしょうか?そこで今回は「GAS(Google Apps Script)の関数・メソッド一覧」というテーマで解説します。
EmbeddedChartBuilderクラスの基本
`EmbeddedChartBuilder`クラスは、Googleスプレッドシートにグラフを埋め込むための強力なツールです。このクラスを利用することで、データを視覚的に表現し、情報の伝達を効果的に行うことができます。
データ範囲の設定:`addRange`メソッド
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var range = sheet.getRange("A1:B10");
var chartBuilder = sheet.newChart().asLineChart().addRange(range);
このコードは、スプレッドシートの”Sheet1″にあるA1からB10までの範囲をグラフのデータとして設定します。
グラフのタイプを選択する
面グラフ:`asAreaChart`メソッド
var chart = chartBuilder.asAreaChart().setTitle("Sample Area Chart").build();
面グラフは、データポイント間の領域を塗りつぶして表示します。
縦棒グラフ:`asBarChart`メソッド
var chart = chartBuilder.asBarChart().setTitle("Sample Bar Chart").build();
縦棒グラフは、各データポイントを縦の棒で表現します。
棒グラフ:`asColumnChart`メソッド
var chart = chartBuilder.asColumnChart().setTitle("Sample Column Chart").build();
棒グラフは、各データポイントを横の棒で表現します。
折れ線グラフ:`asLineChart`メソッド
var chart = chartBuilder.asLineChart().setTitle("Sample Line Chart").build();
折れ線グラフは、連続するデータポイントを線でつなぎ、トレンドを視覚化します。
散布図グラフ:`asScatterChart`メソッド
var chart = chartBuilder.asScatterChart().setTitle("Sample Scatter Chart").build();
散布図は、データの分布や関係性を点で表現します。
グラフのカスタマイズ方法
グラフ色の設定:`setColors`メソッド
var chart = chartBuilder.setColors(["#red", "#blue"]).build();
このメソッドは、グラフの色をカスタマイズします。
グラフオプションの設定:`setOption`メソッド
var chart = chartBuilder.setOption('title', 'My Custom Chart').build();
このメソッドは、グラフのタイトルなど、さまざまなオプションを設定します。
グラフの挿入位置の設定:`setPosition`メソッド
var chart = chartBuilder.setPosition(5, 5, 0, 0).build();
このメソッドは、グラフをスプレッドシートの特定の位置に挿入します。
グラフオブジェクトの生成:`build`メソッド
build
メソッドは、グラフを作成する際の最終段階で呼び出されるメソッドであり、設定したすべてのオプションを持つグラフオブジェクトを生成します。このメソッドは、チャートビルダー(Charts.newChart()
)によって返されるオブジェクトに対して使用され、チャートの種類、データ範囲、オプションなどを設定した後に呼び出すことで、具体的なグラフオブジェクトを生成し、スプレッドシートやウェブアプリケーション内に描画することができます。
以下に、Googleスプレッドシート内のデータを使用して棒グラフを作成する簡単な例を示します:
function createBarChart() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getDataRange(); // シート内のデータ範囲を取得
var chartBuilder = Charts.newBarChart()
.setTitle('サンプル棒グラフ')
.setXAxisTitle('X軸')
.setYAxisTitle('Y軸')
.setDimensions(800, 600) // グラフのサイズを設定
.setRange(0, 100) // Y軸の範囲を設定
.setStacked() // 積み上げ型に設定
.setLegendPosition(Charts.Position.BOTTOM) // 凡例の位置を設定
.setDataTable(range); // データソースを設定
var chart = chartBuilder.build(); // buildメソッドでグラフオブジェクトを生成
sheet.insertChart(chart); // シートにグラフを挿入
}
このコード例では、まずアクティブなスプレッドシートからデータ範囲を取得し、Charts.newBarChart()
を用いて新しい棒グラフのビルダーを作成します。その後、グラフのタイトル、軸のタイトル、サイズ、Y軸の範囲、グラフの種類(この場合は積み上げ型)、凡例の位置を設定します。最後に、build
メソッドを呼び出すことでこれらの設定を反映したグラフオブジェクトが生成され、sheet.insertChart(chart);
でシートに挿入されます。
この方法を用いることで、Google Apps Scriptを活用し、データを効果的に視覚化するカスタムグラフを簡単に作成することができます。build
メソッドはこのプロセスの核心をなすもので、高度なカスタマイズ性と柔軟性を提供します。
実践的な例で見る`EmbeddedChartBuilder`の使い方
Google Apps Scriptを使ってスプレッドシートにグラフを挿入する実践的なプロセスをステップバイステップで説明します。この例では、スプレッドシートに保存されている売上データを用いて、月別の売上を折れ線グラフで表示する方法を紹介します。
データ範囲の選択
まず、グラフに表示したいデータの範囲を選択します。この例では、A列に月、B列にその月の売上が記載されているとします。
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A1:B12");
`EmbeddedChartBuilder`の初期化
次に、`EmbeddedChartBuilder`オブジェクトを初期化し、グラフの基本設定を行います。
var chartBuilder = sheet.newChart();
chartBuilder.addRange(range)
.setChartType(Charts.ChartType.LINE)
.setOption('title', '月別売上');
グラフのカスタマイズ
グラフの見た目をカスタマイズします。例えば、グラフの色や軸のタイトルなどを設定できます。
chartBuilder.setOption('colors', ['#1c91c0'])
.setOption('hAxis', {title: '月'})
.setOption('vAxis', {title: '売上'});
グラフの挿入位置の設定
グラフをスプレッドシートのどこに表示するかを決定します。
chartBuilder.setPosition(5, 5, 0, 0);
グラフのビルドと挿入
最後に、`build`メソッドを使用してグラフオブジェクトを生成し、スプレッドシートに挿入します。
var chart = chartBuilder.build();
sheet.insertChart(chart);
以上のステップを踏むことで、スプレッドシートに月別売上の折れ線グラフが挿入されます。このプロセスを通じて、`EmbeddedChartBuilder`を使用して、様々な種類のグラフをスプレッドシートに追加し、データの視覚化を行うことができます。
まとめ
`EmbeddedChartBuilder`クラスを使用することで、Googleスプレッドシートに豊富なグラフを簡単に追加できます。