Class EmbeddedChart

رسم بياني مضمّن

يمثّل رسمًا بيانيًا تم تضمينه في جدول بيانات.

يوضّح هذا المثال كيفية تعديل رسم بياني حالي:

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('A2: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);

يوضّح هذا المثال كيفية إنشاء رسم بياني جديد:

function newChart(range) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const chartBuilder = sheet.newChart();
  chartBuilder.addRange(range)
      .setChartType(Charts.ChartType.LINE)
      .setOption('title', 'My Line Chart!');
  sheet.insertChart(chartBuilder.build());
}

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
asDataSourceChart()DataSourceChartيتم التحويل إلى مثيل رسم بياني لمصدر بيانات إذا كان الرسم البياني هو رسم بياني لمصدر بيانات، أو null غير ذلك.
getAs(contentType)Blobعرض البيانات داخل هذا العنصر كبيانات ثنائية كبيرة تم تحويلها إلى نوع المحتوى المحدّد
getBlob()Blobعرض البيانات داخل هذا الكائن ككتلة بيانات
getChartId()Integerتعرِض هذه الدالة معرّفًا ثابتًا للرسم البياني يكون فريدًا في جدول البيانات الذي يحتوي على الرسم البياني أو null إذا لم يكن الرسم البياني في جدول بيانات.
getContainerInfo()ContainerInfoتعرِض هذه الدالة معلومات عن موضع الرسم البياني في ورقة البيانات.
getHiddenDimensionStrategy()ChartHiddenDimensionStrategyعرض الاستراتيجية التي سيتم استخدامها لمعالجة الصفوف والأعمدة المخفية
getMergeStrategy()ChartMergeStrategyعرض استراتيجية الدمج المستخدَمة عند توفُّر أكثر من نطاق واحد
getNumHeaders()Integerلعرض عدد الصفوف أو الأعمدة في النطاق التي يتم التعامل معها كعناوين.
getOptions()ChartOptionsتعرِض هذه الدالة خيارات هذا الرسم البياني، مثل الارتفاع والألوان والأُسس.
getRanges()Range[]عرض النطاقات التي يستخدمها هذا الرسم البياني كمصدر بيانات
getTransposeRowsAndColumns()Booleanإذا كان true، يتم تبديل الصفوف والأعمدة المستخدَمة لتعبئة الرسم البياني.
modify()EmbeddedChartBuilderتعرِض EmbeddedChartBuilder التي يمكن استخدامها لتعديل هذا الرسم البياني.

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

asDataSourceChart()

يتم التحويل إلى مثيل رسم بياني لمصدر بيانات إذا كان الرسم البياني هو رسم بياني لمصدر بيانات، أو null غير ذلك.

الإرجاع

DataSourceChart: الرسم البياني لمصدر البيانات


getAs(contentType)

عرض البيانات داخل هذا العنصر كبيانات ثنائية كبيرة تم تحويلها إلى نوع المحتوى المحدّد تُضيف هذه الطريقة امتداد اسم الملف المناسب، على سبيل المثال "myfile.pdf". ومع ذلك، فإنه يفترض أنّ جزء اسم الملف الذي يلي النقطة الأخيرة (إن وُجد) هو امتداد حالي يجب استبداله. ونتيجةً لذلك، يصبح ملف ShoppingList.12.25.2014 هو ShoppingList.12.25.pdf.

للاطّلاع على الحصص اليومية للإحالات الناجحة، يُرجى الاطّلاع على الحصص لخدمات Google. قد تخضع نطاقات Google Workspace التي تم إنشاؤها حديثًا مؤقتًا لحدود برمجية أكثر صرامة.

المعلَمات

الاسمالنوعالوصف
contentTypeStringنوع MIME المطلوب التحويل إليه بالنسبة إلى معظم العناصر المصغّرة، يكون 'application/pdf' هو الخيار الوحيد الصالح. بالنسبة إلى الصور بتنسيق BMP أو GIF أو JPEG أو PNG، يمكن استخدام أي من 'image/bmp' أو 'image/gif' أو 'image/jpeg' أو 'image/png' أيضًا. بالنسبة إلى مستند "مستندات Google"، يكون 'text/markdown' صالحًا أيضًا.

الإرجاع

Blob: البيانات بتنسيق ملف نصي


getBlob()

عرض البيانات داخل هذا الكائن ككتلة بيانات

الإرجاع

Blob: البيانات بتنسيق ملف نصي


getChartId()

تعرِض هذه الدالة معرّفًا ثابتًا للرسم البياني يكون فريدًا في جدول البيانات الذي يحتوي على الرسم البياني أو null إذا لم يكن الرسم البياني في جدول بيانات.

الإرجاع

Integer: معرّف ثابت للرسم البياني


getContainerInfo()

تعرِض هذه الدالة معلومات عن موضع الرسم البياني في ورقة البيانات.

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

const containerInfo = chart.getContainerInfo();

// 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: عنصر يحتوي على موضع حاوية الرسم البياني


getHiddenDimensionStrategy()

عرض الاستراتيجية التي سيتم استخدامها لمعالجة الصفوف والأعمدة المخفية الإعداد التلقائي هو 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();

// Logs the strategy to use for hidden rows and columns which is
// Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS in this case.
Logger.log(chart.getHiddenDimensionStrategy());

الإرجاع

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


getMergeStrategy()

عرض استراتيجية الدمج المستخدَمة عند توفُّر أكثر من نطاق واحد إذا كان الخيار 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('C1:C10');
const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(range)
                  .addRange(range2)
                  .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows of multiple ranges are merged, which is MERGE_ROWS in this
// case.
Logger.log(chart.getMergeStrategy());

الإرجاع

ChartMergeStrategyMERGE_ROWS في حال دمج الصفوف على مستوى نطاقات متعددة، MERGE_COLUMNS في حال دمج الأعمدة على مستوى نطاقات متعددة


getNumHeaders()

لعرض عدد الصفوف أو الأعمدة في النطاق التي يتم التعامل معها كعناوين.

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

// Logs the number of rows or columns to use as headers, which is 1 in this
// case.
Logger.log(chart.getHeaders());

الإرجاع

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


getOptions()

تعرِض هذه الدالة خيارات هذا الرسم البياني، مثل الارتفاع والألوان والأُسس.

الخيارات المعروضة غير قابلة للتغيير.

الإرجاع

ChartOptions - خيارات هذا الرسم البياني، مثل الارتفاع والألوان والأُسس


getRanges()

عرض النطاقات التي يستخدمها هذا الرسم البياني كمصدر بيانات

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

const ranges = chart.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[]: صفيف من النطاقات التي تُستخدَم كمصدر بيانات هذا الرسم البياني


getTransposeRowsAndColumns()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B5');
const chart = sheet.newChart()
                  .addRange(range)
                  .setChartType(Charts.ChartType.BAR)
                  .setTransposeRowsAndColumns(true)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows and columns should be transposed, which is true in this
// case.
Logger.log(chart.getTransposeRowsAndColumns());

الإرجاع

Booleantrue إذا تم تبديل الصفوف والأعمدة المستخدَمة لإنشاء الرسم البياني


modify()

تعرِض EmbeddedChartBuilder التي يمكن استخدامها لتعديل هذا الرسم البياني. اضغط على sheet.updateChart(chart) لحفظ أي تغييرات.

const sheet = SpreadsheetApp.getActiveSheet();
let chart = sheet.getCharts()[0];
chart = chart.modify()
            .setOption('width', 800)
            .setOption('height', 640)
            .setPosition(5, 5, 0, 0)
            .build();
sheet.updateChart(chart);

الإرجاع

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