Class EmbeddedChart

EmbeddedChart

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

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

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A2:B8")
var 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, sheet) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var chartBuilder = sheet.newChart();
  chartBuilder.addRange(range)
      .setChartType(Charts.ChartType.LINE)
      .setOption('title', 'My Line Chart!');
  sheet.insertChart(chartBuilder.build());
}

Methods

メソッド戻り値の型概要
asDataSourceChart()DataSourceChartグラフがデータソース グラフの場合は、データソース グラフ インスタンスにキャストします。それ以外の場合は null にキャストします。
getAs(contentType)Blobこのオブジェクト内のデータを、指定されたコンテンツ タイプに変換された blob として返します。
getBlob()Blobこのオブジェクト内のデータを blob として返します。
getChartId()Integerグラフを含むスプレッドシート全体で一意のグラフの不変 ID を返します。グラフがスプレッドシート内にない場合は 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' のいずれかも有効です。

リターン

Blob - blob としてのデータ。


getBlob()

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

リターン

Blob - blob としてのデータ。


getChartId()

グラフを含むスプレッドシート全体で一意のグラフの不変 ID を返します。グラフがスプレッドシート内にない場合は null を返します。

リターン

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


getContainerInfo()

シート内のグラフの位置に関する情報を返します。

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

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

var 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 です。

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

var range = sheet.getRange("A1:B5");
var 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 です。

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

var range = sheet.getRange("A1:B10");
var range2 = sheet.getRange("C1:C10");
var 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()

範囲がヘッダーとして扱う行数または列数を返します。

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

var range = sheet.getRange("A1:B5");
var 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()

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

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

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

var ranges = chart.getRanges();

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

リターン

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


getTransposeRowsAndColumns()

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

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

var range = sheet.getRange("A1:B5");
var 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) を呼び出して変更を保存します。

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

リターン

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