Class EmbeddedChart

埋め込みグラフ

スプレッドシートに埋め込まれたグラフを表します。

次の例は、既存のグラフを変更する方法を示しています。

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('A2:B8');
let chart = sheet.getCharts()[0];
chart = chart.modify()
            .addRange(range)
            .setOption('title', 'Updated!')
            .setOption('animation.duration', 500)
            .setPosition(2, 2, 0, 0)
            .build();
sheet.updateChart(chart);

次の例は、新しいグラフを作成する方法を示しています。

function newChart(range) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const chartBuilder = sheet.newChart();
  chartBuilder.addRange(range)
      .setChartType(Charts.ChartType.LINE)
      .setOption('title', 'My Line Chart!');
  sheet.insertChart(chartBuilder.build());
}

メソッド

メソッド戻り値の型概要
asDataSourceChart()DataSourceChartグラフがデータソース グラフの場合はデータソース グラフ インスタンスにキャストし、それ以外の場合は null にキャストします。
getAs(contentType)Blobこのオブジェクト内のデータを指定したコンテンツ タイプに変換された BLOB として返します。
getBlob()Blobこのオブジェクト内のデータを blob として返します。
getChartId()Integerグラフを含むスプレッドシート内で一意のグラフの安定した識別子を返します。グラフがスプレッドシートにない場合は null を返します。
getContainerInfo()ContainerInfoグラフがシート内で配置されている場所に関する情報を返します。
getHiddenDimensionStrategy()ChartHiddenDimensionStrategy非表示の行と列の処理に使用する戦略を返します。
getMergeStrategy()ChartMergeStrategy複数の範囲が存在する場合に使用される結合戦略を返します。
getNumHeaders()Integer範囲内でヘッダーとして扱われる行または列の数を返します。
getOptions()ChartOptionsこのグラフのオプション(高さ、色、軸など)を返します。
getRanges()Range[]このグラフがデータソースとして使用する範囲を返します。
getTransposeRowsAndColumns()Booleantrue の場合、グラフの入力に使用される行と列が入れ替わります。
modify()EmbeddedChartBuilderこのグラフの変更に使用できる EmbeddedChartBuilder を返します。

詳細なドキュメント

asDataSourceChart()

グラフがデータソース グラフの場合はデータソース グラフ インスタンスにキャストし、それ以外の場合は null にキャストします。

戻る

DataSourceChart - データソースのグラフ。


getAs(contentType)

このオブジェクト内のデータを指定したコンテンツ タイプに変換された BLOB として返します。この方法では、適切な拡張子がファイル名に追加されます(例: myfile.pdf)。ただし、最後のピリオド(存在する場合)の後のファイル名の部分は、置き換えが必要な既存の拡張子であると想定しています。そのため、「ShoppingList.12.25.2014」は「ShoppingList.12.25.pdf」になります。

コンバージョンの日別割り当てを表示するには、Google サービスの割り当てをご覧ください。新しく作成された Google Workspace ドメインには、一時的に厳しい割り当てが適用される場合があります。

パラメータ

名前説明
contentTypeString変換する MIME タイプ。ほとんどの blob では、'application/pdf' のみが有効なオプションです。BMP、GIF、JPEG、PNG 形式の画像の場合は、'image/bmp''image/gif''image/jpeg''image/png' のいずれも有効です。Google ドキュメント ドキュメントの場合は、'text/markdown' も有効です。

戻る

Blob - BLOB としてのデータ。


getBlob()

このオブジェクト内のデータを blob として返します。

戻る

Blob - BLOB としてのデータ。


getChartId()

グラフを含むスプレッドシート内で一意のグラフの安定した識別子を返します。グラフがスプレッドシートにない場合は null を返します。

戻る

Integer - 安定したグラフ識別子。


getContainerInfo()

グラフがシート内で配置されている場所に関する情報を返します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(sheet.getRange('A1:B8'))
                  .setPosition(5, 5, 0, 0)
                  .build();

const containerInfo = chart.getContainerInfo();

// Logs the values we used in setPosition()
Logger.log(
    'Anchor Column: %s\r\nAnchor Row %s\r\nOffset X %s\r\nOffset Y %s',
    containerInfo.getAnchorColumn(),
    containerInfo.getAnchorRow(),
    containerInfo.getOffsetX(),
    containerInfo.getOffsetY(),
);

戻る

ContainerInfo - グラフ コンテナの位置を含むオブジェクト


getHiddenDimensionStrategy()

非表示の行と列の処理に使用する戦略を返します。デフォルトは IGNORE_ROWS です。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B5');
const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(range)
                  .setHiddenDimensionStrategy(
                      Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS,
                      )
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs the strategy to use for hidden rows and columns which is
// Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS in this case.
Logger.log(chart.getHiddenDimensionStrategy());

戻る

ChartHiddenDimensionStrategy - 非表示の行と列に使用する戦略。


getMergeStrategy()

複数の範囲が存在する場合に使用される結合戦略を返します。MERGE_ROWS の場合、行が結合されます。MERGE_COLUMNS の場合、列が結合されます。デフォルトは MERGE_COLUMNS です。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B10');
const range2 = sheet.getRange('C1:C10');
const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(range)
                  .addRange(range2)
                  .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows of multiple ranges are merged, which is MERGE_ROWS in this
// case.
Logger.log(chart.getMergeStrategy());

戻る

ChartMergeStrategy - 複数の範囲にまたがって行が結合されている場合は MERGE_ROWS、複数の範囲にまたがって列が結合されている場合は MERGE_COLUMNS


getNumHeaders()

範囲内でヘッダーとして扱われる行または列の数を返します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B5');
const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(range)
                  .setNumHeaders(1)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs the number of rows or columns to use as headers, which is 1 in this
// case.
Logger.log(chart.getHeaders());

戻る

Integer - ヘッダーとして扱う行または列の数。負の値は、ヘッダーが自動検出されていることを示します。


getOptions()

このグラフのオプション(高さ、色、軸など)を返します。

返されるオプションは不変です。

戻る

ChartOptions - このグラフのオプション(高さ、色、軸など)。


getRanges()

このグラフがデータソースとして使用する範囲を返します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(sheet.getRange('A1:B8'))
                  .setPosition(5, 5, 0, 0)
                  .build();

const ranges = chart.getRanges();

// There's only one range as a data source for this chart,
// so this logs "A1:B8"
for (const i in ranges) {
  const range = ranges[i];
  Logger.log(range.getA1Notation());
}

戻る

Range[] - このグラフのデータソースとして機能する範囲の配列


getTransposeRowsAndColumns()

true の場合、グラフの入力に使用される行と列が入れ替わります。デフォルトは false です。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B5');
const chart = sheet.newChart()
                  .addRange(range)
                  .setChartType(Charts.ChartType.BAR)
                  .setTransposeRowsAndColumns(true)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows and columns should be transposed, which is true in this
// case.
Logger.log(chart.getTransposeRowsAndColumns());

戻る

Boolean - グラフの作成に使用された行と列が転置されている場合は true


modify()

このグラフの変更に使用できる EmbeddedChartBuilder を返します。sheet.updateChart(chart) を呼び出して変更を保存します。

const sheet = SpreadsheetApp.getActiveSheet();
let chart = sheet.getCharts()[0];
chart = chart.modify()
            .setOption('width', 800)
            .setOption('height', 640)
            .setPosition(5, 5, 0, 0)
            .build();
sheet.updateChart(chart);

戻る

EmbeddedChartBuilder - 埋め込みグラフを作成するためのビルダー