Embedded
를 수정하는 데 사용되는 빌더입니다. 차트에 적용된 변경사항은 재구성된 차트에서 Sheet.updateChart(chart)
이 호출될 때까지 저장되지 않습니다.
const sheet = SpreadsheetApp.getActiveSheet(); const range = sheet.getRange('A1: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);
메서드
자세한 문서
add Range(range)
이 빌더가 수정하는 차트에 범위를 추가합니다. 범위가 이미 차트에 추가된 경우에는 범위를 추가하지 않습니다.
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(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
range | Range | 추가할 범위입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
as Area Chart()
as Bar Chart()
as Column Chart()
as Combo Chart()
as Histogram Chart()
차트 유형을 HistogramChart로 설정하고 Embedded
를 반환합니다.
리턴
Embedded
: 히스토그램 차트의 빌더
as Line Chart()
as Pie Chart()
as Scatter Chart()
차트 유형을 ScatterChart로 설정하고 Embedded
를 반환합니다.
리턴
Embedded
: 분산형 차트의 빌더
as Table Chart()
build()
차트에 적용된 모든 변경사항을 반영하도록 차트를 빌드합니다.
이 메서드는 스프레드시트 위에 차트를 자동으로 그리지 않습니다. 새 차트는 sheet.insertChart(chart)
를 통해 삽입해야 하며 기존 차트는 sheet.updateChart(chart)
를 통해 업데이트해야 합니다.
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) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
리턴
Embedded
: 생성된 차트로, 아직 스프레드시트에 추가해야 합니다.
clear Ranges()
이 빌더가 수정하는 차트에서 모든 범위를 삭제합니다.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This code updates the chart to use only the new ranges while preserving the // existing formatting of the chart. const chart = sheet.getCharts()[0]; const newChart = chart.modify() .clearRanges() .addRange(sheet.getRange('A1:A5')) .addRange(sheet.getRange('B1:B5')) .build(); sheet.updateChart(newChart);
리턴
Embedded
: 체이닝을 위한 이 빌더
get Chart Type()
get Container()
시트에 차트가 표시되는 위치를 캡슐화하는 차트 Container
를 반환합니다.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const 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() const containerInfo = chartBuilder.getContainer(); // 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(), );
리턴
Container
: 차트 컨테이너의 위치를 포함하는 객체
get Ranges()
현재 이 차트에 데이터를 제공하는 범위 목록의 사본을 반환합니다. add
및 remove
를 사용하여 이 목록을 수정합니다.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange('A1:B8')) .setPosition(5, 5, 0, 0); const ranges = chartBuilder.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[]
: 빌드할 차트의 데이터 소스로 사용되는 범위 배열
remove Range(range)
이 빌더가 수정하는 차트에서 지정된 범위를 삭제합니다. 범위가 이 차트에 없는 경우 오류가 발생하지 않습니다.
삭제된 범위는 add
를 통해 추가된 범위와 일치해야 합니다. 그렇지 않으면 차트가 변경되지 않습니다. 이 메서드는 범위에서 값을 부분적으로 삭제하는 데 사용할 수 없습니다.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const firstRange = sheet.getRange('A1:B5'); const secondRange = sheet.getRange('A6:B8'); const 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')); const chart = chartBuilder.build(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
range | Range | 삭제할 범위입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Chart Type(type)
차트 유형을 변경합니다. 현재 일부 삽입된 차트 유형은 지원되지 않습니다. Chart
를 참조하세요.
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) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
type | Chart | 이 차트를 변경할 유형입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Hidden Dimension Strategy(strategy)
숨겨진 행과 열에 사용할 전략을 설정합니다. 기본값은 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(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
strategy | Chart | 숨겨진 행과 열에 사용할 전략입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Merge Strategy(mergeStrategy)
범위가 두 개 이상 있을 때 사용할 병합 전략을 설정합니다. 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('C:C10'); const 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);
매개변수
이름 | 유형 | 설명 |
---|---|---|
merge | Chart | 사용할 병합 전략입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Num Headers(headers)
헤더로 취급해야 하는 범위의 행 또는 열 수를 설정합니다.
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(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
headers | Integer | 헤더로 취급할 행 또는 열의 수입니다. 음수 값을 지정하면 헤더가 자동으로 감지됩니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Option(option, value)
이 차트의 고급 옵션을 설정합니다. 사용 가능한 옵션 목록을 보려면 차트 구성 옵션을 참고하세요.
이 메서드는 지정된 옵션이 이 차트 유형에 유효한지 또는 값의 형식/구조가 올바른지 확인하지 않습니다.
이 예에서는 제목을 변경하고 범례를 설정하는 방법을 보여줍니다.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const sheet = spreadsheet.getSheets()[0]; const chart = sheet.newChart() .setOption('title', 'Earnings projections') .setOption('legend', { position: 'top', textStyle: { color: 'blue', fontSize: 16 }, }).build();
매개변수
이름 | 유형 | 설명 |
---|---|---|
option | String | 옵션의 이름입니다. |
value | Object | 옵션의 값입니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Position(anchorRowPos, anchorColPos, offsetX, offsetY)
위치를 설정하여 시트에 차트가 표시되는 위치를 변경합니다. anchor
및 anchor
는 1부터 시작하는 색인을 사용합니다.
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) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
anchor | Integer | 차트의 상단이 이 행에 고정됩니다. |
anchor | Integer | 차트의 왼쪽이 이 열에 고정됩니다. |
offsetX | Integer | 차트의 오른쪽 상단이 이 픽셀만큼 오프셋됩니다. |
offsetY | Integer | 차트의 왼쪽 하단이 이 픽셀만큼 오프셋됩니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더
set Transpose Rows And Columns(transpose)
차트의 행과 열을 전치할지 설정합니다. true
로 설정하면 행과 열이 전환됩니다. 기본값은 false
입니다.
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) .setTransposeRowsAndColumns(true) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
매개변수
이름 | 유형 | 설명 |
---|---|---|
transpose | Boolean | true 이면 차트를 구성하는 데 사용된 행과 열이 전치됩니다. |
리턴
Embedded
: 체이닝을 위한 이 빌더