Class EmbeddedChartBuilder

سازنده نمودار جاسازی‌شده

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

نوع نمودار فعلی را برمی‌گرداند.

بازگشت

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 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 - این سازنده، برای زنجیره‌سازی.