表格圖表的建構工具。詳情請參閱 Gviz 說明文件。
方法
內容詳盡的說明文件
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 要新增的範圍。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結
asAreaChart()
asBarChart()
asColumnChart()
asComboChart()
asHistogramChart()
將圖表類型設為「HistogramChart」,並傳回 EmbeddedHistogramChartBuilder
。
回攻員
EmbeddedHistogramChartBuilder
:直方圖的建構工具
asLineChart()
asPieChart()
asScatterChart()
asTableChart()
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
:這個建構工具用於鏈結
enablePaging(enablePaging)
設定是否要啟用透過資料分頁功能。
預設行為是停用分頁功能。如果啟用分頁功能,預設頁面大小為 10。
參數
名稱 | 類型 | 說明 |
---|---|---|
enablePaging | Boolean | 如果應啟用分頁功能,則為 true ,否則為 false 。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
enablePaging(pageSize)
啟用分頁功能,並設定每頁的列數。
預設頁面大小為 10。
// Creates a table chart builder and enables paging with page size of 5. var builder = Charts.newTableChart(); builder.enablePaging(5);
參數
名稱 | 類型 | 說明 |
---|---|---|
pageSize | Integer | 表格每一頁的列數。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
enablePaging(pageSize, startPage)
啟用分頁功能,設定每頁的列數和要顯示的第一個表格頁面 (第 頁) 以 0 為基準)
預設頁面大小為 10,預設起始網頁為 0。
// Creates a table chart builder and enables paging with page size of 5 and displays page 2 // first. var builder = Charts.newTableChart(); builder.enablePaging(5, 2);
參數
名稱 | 類型 | 說明 |
---|---|---|
pageSize | Integer | 表格每一頁的列數。 |
startPage | Integer | 要顯示的第一個表格頁面 (頁碼從 0 開始)。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
enableRtlTable(rtlEnabled)
透過將 資料欄順序,因此最右側的資料欄 0 為 0,最後一欄是 最左側的資料欄
這不會影響基礎資料中的欄索引,只會影響顯示的順序。 表格視覺呈現不支援完整雙向 (BiDi) 語言顯示 使用此選項如果您啟用分頁功能 (使用網頁選項),或 表格含有捲軸,因為您指定的高度和寬度選項小於 必要的資料表大小預設行為為停用 RTL 支援功能。
參數
名稱 | 類型 | 說明 |
---|---|---|
rtlEnabled | Boolean | 如果應啟用由右至左支援,請設為 true ,false
反之。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
enableSorting(enableSorting)
設定是否要在使用者點選欄標題時排序資料欄。
如果啟用排序功能,當使用者按一下欄標題時,資料列就會自動 排序預設行為是啟用排序功能。
參數
名稱 | 類型 | 說明 |
---|---|---|
enableSorting | Boolean | true 可按一下欄標題啟用排序,否則使用 false 即可。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
getChartType()
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
range | Range | 要移除的範圍。 |
回攻員
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 | ChartType | 這個圖表要變更為哪種類型。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結
setFirstRowNumber(number)
設定資料表中第一列的資料列編號。
第一列的預設資料列編號為 1。
// Creates a table chart builder and sets the first row to be 2. var builder = Charts.newTableChart(); builder.setFirstRowNumber(2);
參數
名稱 | 類型 | 說明 |
---|---|---|
number | Integer | 資料表中第一列的資料列編號。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
strategy | ChartHiddenDimensionStrategy | 用於隱藏列和欄的策略。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結
setInitialSortingAscending(column)
根據資料表的初始排序設定資料欄索引 (遞增)。
資料欄的 OS 已依遞增順序排序,並顯示一個代表該欄的小箭頭。
// Creates a table chart builder and sorts it by the second column (ascending). var builder = Charts.newTableChart(); builder.setInitialSortingAscending(2);
參數
名稱 | 類型 | 說明 |
---|---|---|
column | Integer | 資料表應按照初始排序時使用的資料欄數量。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
setInitialSortingDescending(column)
根據資料表的初始排序設定資料欄索引 (遞減)。
資料欄 OS 按遞減順序排序,且有一個代表該欄的小箭頭標示。
// Creates a table chart builder and sorts it by the second column (descending). var builder = Charts.newTableChart(); builder.setInitialSortingDescending(2);
參數
名稱 | 類型 | 說明 |
---|---|---|
column | Integer | 資料表應按照初始排序時使用的資料欄數量。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
setMergeStrategy(mergeStrategy)
設定在有多個範圍的情況下使用合併策略。如果是 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);
參數
名稱 | 類型 | 說明 |
---|---|---|
mergeStrategy | ChartMergeStrategy | 要使用的合併策略。 |
回攻員
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
headers | Integer | 要視為標題的列數或欄數。負值會導致標頭 以便自動偵測。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結
setOption(option, value)
設定這張圖表的進階選項。如要查看可用選項的清單,請參閱圖表 設定選項
這個方法不會驗證您指定的選項對這個圖表類型或 值為正確格式/結構。
這個範例說明如何變更標題及設定圖例。
builder.setOption('title', 'Earnings projections'); builder.setOption('legend', {position: 'top', textStyle: {color: 'blue', fontSize: 16}});
參數
名稱 | 類型 | 說明 |
---|---|---|
option | String | 選項名稱。 |
value | Object | 選項的值。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結。
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)
設定位置,在工作表上變更圖表的顯示位置。「anchorRowPos
」和
anchorColPos
已編入索引。
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
anchorRowPos | Integer | 圖表的頂端會固定在這個資料列中。 |
anchorColPos | Integer | 圖表左側會錨定在這一欄。 |
offsetX | Integer | 圖表右上角會偏移這個像素數。 |
offsetY | Integer | 圖表的左下角會有許多像素偏移。 |
回攻員
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
transpose | Boolean | 如果是 true ,表示用於建構圖表的資料列與資料欄
轉置。 |
回攻員
EmbeddedChartBuilder
:這個建構工具用於鏈結
showRowNumberColumn(showRowNumber)
設定是否顯示資料列編號做為表格的第一欄。
預設行為不會顯示資料列編號。
參數
名稱 | 類型 | 說明 |
---|---|---|
showRowNumber | Boolean | true :如果表格的第一欄應顯示資料列編號,
否則為 false 。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。
useAlternatingRowStyle(alternate)
設定是否要將交替顏色樣式指派給表格圖表中的奇數,甚至是數個列。
預設行為是具有交替顏色樣式的列。
參數
名稱 | 類型 | 說明 |
---|---|---|
alternate | Boolean | 如果顏色樣式應交替處理,則為 true ,否則為 false 。 |
回攻員
EmbeddedTableChartBuilder
:這項建構工具適用於鏈結。