Class EmbeddedChartBuilder

أداة إنشاءالرسوم البيانيةالمضمّنة

أداة الإنشاء المستخدَمة لتعديل 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);

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
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تُستخدَم لضبط نوع الرسم البياني على LineChart وعرض 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لضبط استراتيجية الدمج التي سيتم استخدامها عند توفّر أكثر من نطاق واحد.
setNumHeaders(headers)EmbeddedChartBuilderتُستخدَم لضبط عدد الصفوف أو الأعمدة في النطاق التي يجب التعامل معها كعناوين.
setOption(option, value)EmbeddedChartBuilderلضبط الخيارات المتقدّمة لهذا الرسم البياني
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderلضبط الموضع، وتغيير مكان ظهور الرسم البياني على ورقة البيانات
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderلتحديد ما إذا كان سيتم تبديل صفوف المخطط وأعمدةه.

مستندات تفصيلية

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

المعلمات

الاسمالنوعالوصف
rangeRangeالنطاق المطلوب إضافته.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
rangeRangeالنطاق المطلوب إزالته.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
typeChartTypeالنوع الذي تريد تغيير هذا الرسم البياني إليه.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
strategyChartHiddenDimensionStrategyالاستراتيجية التي سيتم استخدامها للصفوف والأعمدة المخفية.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
mergeStrategyChartMergeStrategyاستراتيجية الدمج التي سيتم استخدامها.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
headersIntegerعدد الصفوف أو الأعمدة التي سيتم التعامل معها كعناوين تؤدي القيم السلبية إلى رصد العناوين تلقائيًا.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
optionStringاسم الخيار
valueObjectقيمة الخيار

الإرجاع

EmbeddedChartBuilder: هذا المُنشئ، لتسلسل العناصر.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

لضبط الموضع، وتغيير مكان ظهور الرسم البياني على ورقة البيانات يتمّ ترقيم anchorRowPos و anchorColPos بدءًا من 1.

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

المعلمات

الاسمالنوعالوصف
anchorRowPosIntegerيتم تثبيت الجانب العلوي من الرسم البياني في هذا الصف.
anchorColPosIntegerيتم تثبيت الجانب الأيسر من الرسم البياني في هذا العمود.
offsetXIntegerيتم تعويض الزاوية العلوية اليسرى من الرسم البياني بعدد هذا القدر من البكسل.
offsetYIntegerيتم تعويض الزاوية اليسرى السفلية للرسم البياني بعدد هذا القدر من البكسل.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
transposeBooleanإذا كان الخيار true، يتم قلب الصفوف والأعمدة المستخدَمة لإنشاء الرسم البياني.

الإرجاع

EmbeddedChartBuilder — هذا المُنشئ، لتسلسل العناصر