Class EmbeddedChartBuilder

EmbeddedChartBuilder

EmbeddedChart을 수정하는 데 사용된 빌더입니다. 차트의 변경사항은 다시 빌드된 차트에서 Sheet.updateChart(chart)가 호출될 때까지 저장되지 않습니다.

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

방법

메서드반환 유형간략한 설명
addRange(range)EmbeddedChartBuilder이 빌더가 수정하는 차트에 범위를 추가합니다.
asAreaChart()EmbeddedAreaChartBuilder차트 유형을 AreaChart로 설정하고 EmbeddedAreaChartBuilder을 반환합니다.
asBarChart()EmbeddedBarChartBuilder차트 유형을 BarChart로 설정하고 EmbeddedBarChartBuilder을 반환합니다.
asColumnChart()EmbeddedColumnChartBuilder차트 유형을 ColumnChart로 설정하고 EmbeddedColumnChartBuilder을 반환합니다.
asComboChart()EmbeddedComboChartBuilder차트 유형을 ComboChart로 설정하고 EmbeddedComboChartBuilder을 반환합니다.
asHistogramChart()EmbeddedHistogramChartBuilder차트 유형을 HistogramChart로 설정하고 EmbeddedHistogramChartBuilder을 반환합니다.
asLineChart()EmbeddedLineChartBuilder차트 유형을 LineChart로 설정하고 EmbeddedLineChartBuilder을 반환합니다.
asPieChart()EmbeddedPieChartBuilder차트 유형을 PieChart로 설정하고 EmbeddedPieChartBuilder을 반환합니다.
asScatterChart()EmbeddedScatterChartBuilder차트 유형을 ScatterChart로 설정하고 EmbeddedScatterChartBuilder을 반환합니다.
asTableChart()EmbeddedTableChartBuilder차트 유형을 TableChart로 설정하고 EmbeddedTableChartBuilder을 반환합니다.
build()EmbeddedChart모든 변경사항을 반영하도록 차트를 작성합니다.
clearRanges()EmbeddedChartBuilder이 빌더가 수정하는 차트에서 모든 범위를 삭제합니다.
getChartType()ChartType현재 차트 유형을 반환합니다.
getContainer()ContainerInfo차트 ContainerInfo를 반환합니다. 이 차트는 시트에서 차트가 표시되는 위치를 캡슐화합니다.
getRanges()Range[]현재 이 차트에 데이터를 제공하는 범위 목록의 사본을 반환합니다.
removeRange(range)EmbeddedChartBuilder이 빌더가 수정하는 차트에서 지정된 범위를 삭제합니다.
setChartType(type)EmbeddedChartBuilder차트 유형을 변경합니다.
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilder숨겨진 행과 열에 사용할 전략을 설정합니다.
setMergeStrategy(mergeStrategy)EmbeddedChartBuilder범위가 둘 이상 존재할 때 사용할 병합 전략을 설정합니다.
setNumHeaders(headers)EmbeddedChartBuilder헤더로 처리해야 하는 범위의 행 또는 열의 수를 설정합니다.
setOption(option, value)EmbeddedChartBuilder이 차트의 고급 옵션을 설정합니다.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilder위치를 설정하여 차트에서 차트가 표시되는 위치를 변경합니다.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilder차트의 행과 열을 바꿀지 여부를 설정합니다.

자세한 문서

addRange(range)

이 빌더가 수정하는 차트에 범위를 추가합니다. 이미 차트에 추가된 범위는 추가하지 않습니다.

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();

sheet.insertChart(chart);

매개변수

이름유형설명
rangeRange추가할 범위입니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


asAreaChart()

차트 유형을 AreaChart로 설정하고 EmbeddedAreaChartBuilder을 반환합니다.

리턴

EmbeddedAreaChartBuilder - 영역 차트 빌더


asBarChart()

차트 유형을 BarChart로 설정하고 EmbeddedBarChartBuilder을 반환합니다.

리턴

EmbeddedBarChartBuilder - 막대 그래프 빌더


asColumnChart()

차트 유형을 ColumnChart로 설정하고 EmbeddedColumnChartBuilder을 반환합니다.

리턴

EmbeddedColumnChartBuilder - 세로 막대형 차트 빌더


asComboChart()

차트 유형을 ComboChart로 설정하고 EmbeddedComboChartBuilder을 반환합니다.

리턴

EmbeddedComboChartBuilder — 콤보 차트 빌더


asHistogramChart()

차트 유형을 HistogramChart로 설정하고 EmbeddedHistogramChartBuilder을 반환합니다.

리턴

EmbeddedHistogramChartBuilder — 히스토그램 차트 빌더


asLineChart()

차트 유형을 LineChart로 설정하고 EmbeddedLineChartBuilder을 반환합니다.

리턴

EmbeddedLineChartBuilder - 선 차트 빌더입니다.


asPieChart()

차트 유형을 PieChart로 설정하고 EmbeddedPieChartBuilder을 반환합니다.

리턴

EmbeddedPieChartBuilder — 원형 차트 빌더


asScatterChart()

차트 유형을 ScatterChart로 설정하고 EmbeddedScatterChartBuilder을 반환합니다.

리턴

EmbeddedScatterChartBuilder — 분산형 차트의 빌더입니다.


asTableChart()

차트 유형을 TableChart로 설정하고 EmbeddedTableChartBuilder을 반환합니다.

리턴

EmbeddedTableChartBuilder — 표 차트 빌더


build()

모든 변경사항을 반영하도록 차트를 작성합니다.

이 방법은 스프레드시트 위에 차트를 자동으로 그리지 않습니다. 새 차트는 sheet.insertChart(chart)를 통해 삽입해야 하고 기존 차트는 sheet.updateChart(chart)를 통해 업데이트해야 합니다.

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)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

리턴

EmbeddedChart: 생성된 차트로, 스프레드시트에 계속 추가해야 합니다.


clearRanges()

이 빌더가 수정하는 차트에서 모든 범위를 삭제합니다.

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

// This code updates the chart to use only the new ranges while preserving the existing
// formatting of the chart.
var chart = sheet.getCharts()[0];
var newChart = chart
    .modify()
    .clearRanges()
    .addRange(sheet.getRange("A1:A5"))
    .addRange(sheet.getRange("B1:B5"))
    .build();
sheet.updateChart(newChart);

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


getChartType()

현재 차트 유형을 반환합니다.

리턴

ChartType: 차트 유형


getContainer()

차트 ContainerInfo를 반환합니다. 이 차트는 시트에서 차트가 표시되는 위치를 캡슐화합니다.

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

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

// This method returns the exact same data as Chart#getContainerInfo()
var containerInfo = chartBuilder.getContainer();

// 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: 차트 컨테이너의 위치가 포함된 객체


getRanges()

현재 이 차트에 데이터를 제공하는 범위 목록의 사본을 반환합니다. addRange(range)removeRange(range)를 사용하여 이 목록을 수정합니다.

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

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

var ranges = chartBuilder.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[]: 빌드할 데이터 소스의 역할을 하는 범위 배열


removeRange(range)

이 빌더가 수정하는 차트에서 지정된 범위를 삭제합니다. 이 차트에 범위가 없으면 오류가 발생하지 않습니다.

삭제된 범위는 addRange(range)를 통해 추가된 범위와 일치해야 합니다. 그렇지 않으면 차트가 변경되지 않습니다. 이 메서드는 범위에서 값을 부분적으로 삭제하는 데는 사용할 수 없습니다.

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

var firstRange = sheet.getRange("A1:B5");
var secondRange = sheet.getRange("A6:B8");

var chartBuilder = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(firstRange)
    // This range will render in a different color
    .addRange(secondRange)
    .setPosition(5, 5, 0, 0);

// Note that you can use either of these two formats, but the range
// MUST match up with a range that was added via addRange(), or it
// will not be removed, and will not throw an exception
chartBuilder.removeRange(firstRange);
chartBuilder.removeRange(sheet.getRange("A6:B8"));

var chart = chartBuilder.build();

sheet.insertChart(chart);

매개변수

이름유형설명
rangeRange삭제할 범위입니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setChartType(type)

차트 유형을 변경합니다. 현재 삽입된 차트 유형 중 일부는 지원되지 않습니다. ChartType 페이지를 참고하세요.

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)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

매개변수

이름유형설명
typeChartType이 차트를 변경할 유형입니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setHiddenDimensionStrategy(strategy)

숨겨진 행과 열에 사용할 전략을 설정합니다. 기본값은 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();

sheet.insertChart(chart);

매개변수

이름유형설명
strategyChartHiddenDimensionStrategy숨겨진 행과 열에 사용할 전략입니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setMergeStrategy(mergeStrategy)

범위가 둘 이상 존재할 때 사용할 병합 전략을 설정합니다. 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("C:C10");
var chart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(range)
    .addRange(range2)
    .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

매개변수

이름유형설명
mergeStrategyChartMergeStrategy사용할 병합 전략입니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setNumHeaders(headers)

헤더로 처리해야 하는 범위의 행 또는 열의 수를 설정합니다.

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();

sheet.insertChart(chart);

매개변수

이름유형설명
headersInteger헤더로 처리할 행 또는 열의 수입니다. 값이 음수이면 헤더가 자동으로 감지됩니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setOption(option, value)

이 차트의 고급 옵션을 설정합니다. 사용 가능한 옵션 목록을 보려면 차트 구성 옵션을 참조하세요.

이 메서드는 지정된 옵션이 이 차트 유형에 유효한지, 값의 형식/구조가 올바른지 확인하지 않습니다.

이 예에서는 제목을 변경하고 범례를 설정하는 방법을 보여줍니다.

builder.setOption('title', 'Earnings projections');
builder.setOption('legend', {position: 'top', textStyle: {color: 'blue', fontSize: 16}});

매개변수

이름유형설명
optionString옵션 이름입니다.
valueObject옵션의 값입니다.

리턴

EmbeddedChartBuilder - 체이닝을 위한 빌더입니다.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

위치를 설정하여 차트에서 차트가 표시되는 위치를 변경합니다. anchorRowPosanchorColPos는 1부터 색인이 생성됩니다.

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)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

매개변수

이름유형설명
anchorRowPosInteger차트의 상단이 이 행에 고정되어 있습니다.
anchorColPosInteger차트의 왼쪽은 이 열에 고정되어 있습니다.
offsetXInteger차트의 오른쪽 상단이 이 픽셀만큼 상쇄됩니다.
offsetYInteger차트의 왼쪽 하단이 이 픽셀만큼 상쇄됩니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.


setTransposeRowsAndColumns(transpose)

차트의 행과 열을 바꿀지 여부를 설정합니다. true로 설정하면 행과 열이 전환됩니다. 기본값은 false입니다.

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)
    .setTransposeRowsAndColumns(true)
    .setPosition(5, 5, 0, 0)
    .build();

sheet.insertChart(chart);

매개변수

이름유형설명
transposeBooleantrue인 경우 차트를 구성하는 데 사용된 행과 열이 전치됩니다.

리턴

EmbeddedChartBuilder: 체이닝을 위한 빌더입니다.