Class EmbeddedChart

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」になります。

コンバージョンの 1 日あたりの割り当てを確認するには、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 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 - 埋め込みグラフを作成するためのビルダー。