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

พารามิเตอร์

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

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 — ตัวสร้างนี้สําหรับการต่อเชื่อม