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추가할 범위입니다.

Return

EmbeddedChartBuilder — 이 체이닝 도구


asAreaChart()

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

Return

EmbeddedAreaChartBuilder — 영역 차트 작성 도구


asBarChart()

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

Return

EmbeddedBarChartBuilder — 막대 그래프 작성 도구


asColumnChart()

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

Return

EmbeddedColumnChartBuilder — 열 차트의 빌더


asComboChart()

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

Return

EmbeddedComboChartBuilder — 콤보 차트의 빌더


asHistogramChart()

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

Return

EmbeddedHistogramChartBuilder — 히스토그램 차트 작성 도구


asLineChart()

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

Return

EmbeddedLineChartBuilder — 선 차트 작성 도구


asPieChart()

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

Return

EmbeddedPieChartBuilder — 원형 차트의 빌더


asScatterChart()

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

Return

EmbeddedScatterChartBuilder — 분산형 차트의 빌더


asTableChart()

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

Return

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

Return

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

Return

EmbeddedChartBuilder — 이 체이닝 도구


getChartType()

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

Return

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

Return

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

Return

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삭제할 범위입니다.

Return

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이 차트를 변경할 유형입니다.

Return

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숨겨진 행과 열에 사용할 전략입니다.

Return

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사용할 병합 전략입니다.

Return

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헤더로 취급할 행 또는 열의 수입니다. 음수 값을 사용하면 헤더가 자동으로 감지됩니다.

Return

EmbeddedChartBuilder — 이 체이닝 도구


setOption(option, value)

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

이 방법은 지정된 옵션이 이 차트 유형에 유효한지 또는 값이 올바른 형식/구조인지 검증하지 않습니다.

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

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

매개변수

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

Return

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차트의 왼쪽 하단 모서리가 이렇게 많은 픽셀로 오프셋됩니다.

Return

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인 경우 차트를 구성하는 데 사용되는 행과 열이 바뀝니다.

Return

EmbeddedChartBuilder — 이 체이닝 도구