ตัวสร้างที่ใช้แก้ไข 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()
ตั้งค่าประเภทแผนภูมิเป็น AreaChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิพื้นที่
as Bar Chart()
ตั้งค่าประเภทแผนภูมิเป็น BarChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิแท่ง
as Column Chart()
ตั้งค่าประเภทแผนภูมิเป็น ColumnChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิคอลัมน์
as Combo Chart()
ตั้งค่าประเภทแผนภูมิเป็น ComboChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิผสม
as Histogram Chart()
ตั้งค่าประเภทแผนภูมิเป็น HistogramChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิฮิสโตแกรม
as Line Chart()
ตั้งค่าประเภทแผนภูมิเป็น LineChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิเส้น
as Pie Chart()
ตั้งค่าประเภทแผนภูมิเป็น PieChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิวงกลม
as Scatter Chart()
ตั้งค่าประเภทแผนภูมิเป็น ScatterChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิกระจาย
as Table Chart()
ตั้งค่าประเภทแผนภูมิเป็น TableChart และแสดงผล Embedded
รีเทิร์น
Embedded
— ตัวสร้างแผนภูมิตาราง
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)
ตั้งค่ากลยุทธ์การผสานที่จะใช้เมื่อมีช่วงมากกว่า 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);
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
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-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);
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
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
— ตัวสร้างนี้สําหรับการต่อเชื่อม