Builder برای ویرایش یک 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);
روشها
| روش | نوع بازگشتی | شرح مختصر |
|---|---|---|
add Range(range) | Embedded Chart Builder | محدودهای را به نموداری که این سازنده تغییر میدهد اضافه میکند. |
as Area Chart() | Embedded Area Chart Builder | نوع نمودار را روی AreaChart تنظیم میکند و یک Embedded Area Chart Builder را برمیگرداند. |
as Bar Chart() | Embedded Bar Chart Builder | نوع نمودار را روی BarChart تنظیم میکند و یک Embedded Bar Chart Builder را برمیگرداند. |
as Column Chart() | Embedded Column Chart Builder | نوع نمودار را روی ColumnChart تنظیم میکند و یک Embedded Column Chart Builder را برمیگرداند. |
as Combo Chart() | Embedded Combo Chart Builder | نوع نمودار را روی ComboChart تنظیم میکند و یک Embedded Combo Chart Builder را برمیگرداند. |
as Histogram Chart() | Embedded Histogram Chart Builder | نوع نمودار را روی HistogramChart تنظیم میکند و یک Embedded Histogram Chart Builder را برمیگرداند. |
as Line Chart() | Embedded Line Chart Builder | نوع نمودار را روی LineChart تنظیم میکند و یک Embedded Line Chart Builder برمیگرداند. |
as Pie Chart() | Embedded Pie Chart Builder | نوع نمودار را روی PieChart تنظیم میکند و یک Embedded Pie Chart Builder را برمیگرداند. |
as Scatter Chart() | Embedded Scatter Chart Builder | نوع نمودار را روی ScatterChart تنظیم میکند و یک Embedded Scatter Chart Builder را برمیگرداند. |
as Table Chart() | Embedded Table Chart Builder | نوع نمودار را روی TableChart تنظیم میکند و یک Embedded Table Chart Builder را برمیگرداند. |
build() | Embedded Chart | نمودار را طوری میسازد که تمام تغییرات ایجاد شده در آن را منعکس کند. |
clear Ranges() | Embedded Chart Builder | تمام محدودهها را از نموداری که این سازنده تغییر میدهد حذف میکند. |
get Chart Type() | Chart Type | نوع نمودار فعلی را برمیگرداند. |
get Container() | Container Info | Container Info نمودار را برمیگرداند، که محل نمایش نمودار روی برگه را کپسولهسازی میکند. |
get Ranges() | Range[] | یک کپی از لیست محدودههایی که در حال حاضر دادههای این نمودار را ارائه میدهند، برمیگرداند. |
remove Range(range) | Embedded Chart Builder | محدوده مشخص شده را از نموداری که این سازنده تغییر میدهد، حذف میکند. |
set Chart Type(type) | Embedded Chart Builder | نوع نمودار را تغییر میدهد. |
set Hidden Dimension Strategy(strategy) | Embedded Chart Builder | استراتژی مورد استفاده برای ردیفها و ستونهای پنهان را تنظیم میکند. |
set Merge Strategy(mergeStrategy) | Embedded Chart Builder | استراتژی ادغام را برای استفاده در زمانی که بیش از یک محدوده وجود دارد، تنظیم میکند. |
set Num Headers(headers) | Embedded Chart Builder | تعداد ردیفها یا ستونهای محدودهای که باید به عنوان سرصفحه در نظر گرفته شوند را تنظیم میکند. |
set Option(option, value) | Embedded Chart Builder | گزینههای پیشرفتهای را برای این نمودار تنظیم میکند. |
set Position(anchorRowPos, anchorColPos, offsetX, offsetY) | Embedded Chart Builder | موقعیت را تنظیم میکند و محل نمایش نمودار روی برگه را تغییر میدهد. |
set Transpose Rows And Columns(transpose) | Embedded Chart Builder | تنظیم میکند که آیا ردیفها و ستونهای نمودار جابهجا (transposition) شوند یا خیر. |
مستندات دقیق
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
range | Range | محدودهای که باید اضافه شود. |
بازگشت
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()
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
range | Range | محدودهای که باید حذف شود. |
بازگشت
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
type | Chart Type | نوع دادهای که قرار است این نمودار به آن تبدیل شود. |
بازگشت
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
strategy | Chart Hidden Dimension Strategy | استراتژی مورد استفاده برای سطرها و ستونهای پنهان. |
بازگشت
EmbeddedChartBuilder - این سازنده، برای زنجیرهسازی.
setMergeStrategy(mergeStrategy)
استراتژی ادغام را برای زمانی که بیش از یک محدوده وجود دارد، تنظیم میکند. اگر 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 Strategy | Chart Merge Strategy | استراتژی ادغام مورد استفاده. |
بازگشت
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
headers | Integer | تعداد ردیفها یا ستونهایی که به عنوان سرصفحه در نظر گرفته میشوند. مقادیر منفی باعث میشوند سرصفحهها به طور خودکار شناسایی شوند. |
بازگشت
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();
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
option | String | نام گزینه. |
value | Object | ارزش گزینه. |
بازگشت
EmbeddedChartBuilder - این سازنده، برای زنجیرهسازی.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)
موقعیت را تنظیم میکند و محل نمایش نمودار روی صفحه را تغییر میدهد. anchorRowPos و anchorColPos دارای ۱-ایندکس هستند.
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 Row Pos | Integer | ضلع بالایی نمودار در این ردیف ثابت شده است. |
anchor Col Pos | Integer | سمت چپ نمودار در این ستون ثابت شده است. |
offsetX | Integer | گوشه سمت راست بالای نمودار با این تعداد پیکسل، انحراف دارد. |
offsetY | Integer | گوشه پایین سمت چپ نمودار با این تعداد پیکسل، انحراف دارد. |
بازگشت
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);
پارامترها
| نام | نوع | توضیحات |
|---|---|---|
transpose | Boolean | اگر true ، ردیفها و ستونهای استفاده شده برای ساخت نمودار جابجا میشوند. |
بازگشت
EmbeddedChartBuilder - این سازنده، برای زنجیرهسازی.