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ตั้งค่าประเภทแผนภูมิเป็นแผนภูมิเส้นและแสดงผล 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)

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

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

พารามิเตอร์

ชื่อTypeคำอธิบาย
rangeRangeช่วงที่จะเพิ่ม

รีเทิร์น

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


asAreaChart()

ตั้งค่าประเภทแผนภูมิเป็น AreaChart และแสดงผล EmbeddedAreaChartBuilder

รีเทิร์น

EmbeddedAreaChartBuilder — เครื่องมือสร้างแผนภูมิพื้นที่


asBarChart()

ตั้งค่าประเภทแผนภูมิเป็น BarChart และแสดงผล EmbeddedBarChartBuilder

รีเทิร์น

EmbeddedBarChartBuilder — เครื่องมือสร้างแผนภูมิแท่ง


asColumnChart()

ตั้งค่าประเภทแผนภูมิเป็น ColumnChart และแสดงผล EmbeddedColumnChartBuilder

รีเทิร์น

EmbeddedColumnChartBuilder — เครื่องมือสร้างแผนภูมิคอลัมน์


asComboChart()

ตั้งค่าประเภทแผนภูมิเป็น ComboChart และแสดงผล EmbeddedComboChartBuilder

รีเทิร์น

EmbeddedComboChartBuilder — เครื่องมือสร้างแผนภูมิผสม


asHistogramChart()

ตั้งค่าประเภทแผนภูมิเป็น HistogramChart และแสดงผล EmbeddedHistogramChartBuilder

รีเทิร์น

EmbeddedHistogramChartBuilder — เครื่องมือสร้างแผนภูมิฮิสโตแกรม


asLineChart()

ตั้งค่าประเภทแผนภูมิเป็นแผนภูมิเส้นและแสดงผล 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);

พารามิเตอร์

ชื่อTypeคำอธิบาย
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);

พารามิเตอร์

ชื่อTypeคำอธิบาย
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);

พารามิเตอร์

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

รีเทิร์น

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


setMergeStrategy(mergeStrategy)

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

พารามิเตอร์

ชื่อTypeคำอธิบาย
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);

พารามิเตอร์

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

รีเทิร์น

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


setOption(option, value)

ตั้งค่าตัวเลือกขั้นสูงสำหรับแผนภูมินี้ โปรดดูรายการตัวเลือกที่ใช้ได้ที่หัวข้อตัวเลือกการกำหนดค่าแผนภูมิ

วิธีการนี้ไม่ได้ตรวจสอบว่าตัวเลือกที่คุณระบุใช้ได้กับแผนภูมิประเภทนี้หรือไม่ รวมถึงในกรณีที่ค่าอยู่ในรูปแบบ/โครงสร้างที่ถูกต้อง

ตัวอย่างนี้แสดงวิธีเปลี่ยนชื่อและตั้งค่าคำอธิบาย

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

พารามิเตอร์

ชื่อTypeคำอธิบาย
optionStringชื่อของตัวเลือก
valueObjectค่าของตัวเลือก

รีเทิร์น

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


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

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

พารามิเตอร์

ชื่อTypeคำอธิบาย
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);

พารามิเตอร์

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

รีเทิร์น

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