Class EmbeddedChartBuilder

เครื่องมือสร้างแผนภูมิที่ฝัง

เครื่องมือสร้างที่ใช้แก้ไข EmbeddedChart ระบบจะไม่บันทึกการเปลี่ยนแปลงที่ทำกับแผนภูมิจนกว่าจะมีการเรียกใช้ 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);

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
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กำหนดกลยุทธ์การผสานที่จะใช้เมื่อมีช่วงมากกว่า 1 ช่วง
setNumHeaders(headers)EmbeddedChartBuilderกำหนดจำนวนแถวหรือคอลัมน์ของช่วงที่ควรได้รับการพิจารณาเป็นส่วนหัว
setOption(option, value)EmbeddedChartBuilderตั้งค่าตัวเลือกขั้นสูงสำหรับแผนภูมินี้
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderกำหนดตำแหน่ง โดยเปลี่ยนตำแหน่งที่แผนภูมิปรากฏในชีต
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderกำหนดว่าจะสลับแถวและคอลัมน์ของแผนภูมิหรือไม่

เอกสารโดยละเอียด

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
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)

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

รีเทิร์น

EmbeddedChart — แผนภูมิที่สร้างขึ้น ซึ่งยังต้องเพิ่มลงในสเปรดชีต


clearRanges()

นำช่วงทั้งหมดออกจากแผนภูมิที่เครื่องมือสร้างนี้แก้ไข

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

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


getChartType()

แสดงผลประเภทแผนภูมิปัจจุบัน

รีเทิร์น

ChartType — ประเภทแผนภูมิ


getContainer()

ส่งคืนแผนภูมิ ContainerInfo ซึ่งแคปซูลตำแหน่งที่แผนภูมิปรากฏในชีต

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

รีเทิร์น

ContainerInfo — ออบเจ็กต์ที่มีตำแหน่งของคอนเทนเนอร์แผนภูมิ


getRanges()

แสดงผลสำเนาของรายการช่วงที่ให้ข้อมูลสำหรับแผนภูมินี้ในปัจจุบัน ใช้ addRange(range) และ removeRange(range) เพื่อแก้ไขรายการนี้

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[] — อาร์เรย์ของช่วงที่ใช้เป็นแหล่งข้อมูลของแผนภูมิที่จะสร้าง


removeRange(range)

นำช่วงที่ระบุออกจากแผนภูมิที่เครื่องมือสร้างนี้แก้ไข ไม่แสดงข้อผิดพลาดหาก ช่วงไม่ได้อยู่ในแผนภูมินี้

ช่วงที่นำออกต้องตรงกับช่วงที่เพิ่มผ่าน addRange(range) ไม่เช่นนั้นจะไม่มีการเปลี่ยนแปลงใดๆ ในแผนภูมิ ไม่สามารถใช้วิธีนี้เพื่อนำค่าบางส่วนออกจากช่วงได้

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 renders 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
// is not removed, and does not throw an exception
chartBuilder.removeRange(firstRange);
chartBuilder.removeRange(sheet.getRange('A6:B8'));

const chart = chartBuilder.build();

sheet.insertChart(chart);

พารามิเตอร์

ชื่อประเภทคำอธิบาย
rangeRangeช่วงที่จะนำออก

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


setChartType(type)

เปลี่ยนประเภทแผนภูมิ ปัจจุบันระบบยังไม่รองรับแผนภูมิที่ฝังบางประเภท ดูChartType

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
typeChartTypeประเภทที่จะเปลี่ยนแผนภูมินี้เป็น

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
strategyChartHiddenDimensionStrategyกลยุทธ์ที่จะใช้กับแถวและคอลัมน์ที่ซ่อนอยู่

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


setMergeStrategy(mergeStrategy)

กำหนดกลยุทธ์การผสานที่จะใช้เมื่อมีช่วงมากกว่า 1 ช่วง หากเป็น 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);

พารามิเตอร์

ชื่อประเภทคำอธิบาย
mergeStrategyChartMergeStrategyกลยุทธ์การผสานที่จะใช้

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
headersIntegerจำนวนแถวหรือคอลัมน์ที่จะถือเป็นส่วนหัว ค่าลบจะทำให้ระบบตรวจหา ส่วนหัวโดยอัตโนมัติ

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
optionStringชื่อของตัวเลือก
valueObjectค่าของตัวเลือก

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

กำหนดตำแหน่ง โดยเปลี่ยนตำแหน่งที่แผนภูมิปรากฏในชีต anchorRowPos และ anchorColPos มีดัชนีเป็น 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);

พารามิเตอร์

ชื่อประเภทคำอธิบาย
anchorRowPosIntegerด้านบนของแผนภูมิจะยึดไว้ในแถวนี้
anchorColPosIntegerด้านซ้ายของแผนภูมิจะยึดตามคอลัมน์นี้
offsetXIntegerมุมขวาบนของแผนภูมิจะออฟเซ็ตด้วยจำนวนพิกเซลนี้
offsetYIntegerมุมซ้ายล่างของแผนภูมิจะออฟเซ็ตด้วยจำนวนพิกเซลนี้

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง


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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
transposeBooleanหากเป็น true ระบบจะสลับแถวและคอลัมน์ที่ใช้สร้างแผนภูมิ

รีเทิร์น

EmbeddedChartBuilder - เครื่องมือสร้างนี้สำหรับการเชื่อมโยง