تحسين حسابات المخطط للعروض التقديمية في بايثون

حساب القيم الفعلية لعناصر المخطط

توفر Aspose.Slides for Python عبر .NET واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. سيساعدك هذا على حساب القيم الفعلية لعناصر المخطط. تشمل القيم الفعلية موضع العناصر التي ترث الفئة IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) وكذلك قيم المحاور الفعلية (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale).

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350)
    chart.validate_chart_layout()

    maxValue = chart.axes.vertical_axis.actual_max_value
    minValue = chart.axes.vertical_axis.actual_min_value
    majorUnit = chart.axes.horizontal_axis.actual_major_unit
    minorUnit = chart.axes.horizontal_axis.actual_minor_unit

حساب الموقع الفعلي لعناصر المخطط الأصلية

توفر Aspose.Slides for Python عبر .NET واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. توفر خصائص IActualLayout معلومات حول الموقع الفعلي لعنصر المخطط الأصل. من الضروري استدعاء الطريقة IChart.ValidateChartLayout() مسبقًا لتعبئة الخصائص بالقيم الفعلية.

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350)
    chart.validate_chart_layout()

    x = chart.plot_area.actual_x
    y = chart.plot_area.actual_y
    w = chart.plot_area.actual_width
    h = chart.plot_area.actual_height

إخفاء المعلومات من المخطط

يساعدك هذا الموضوع على فهم كيفية إخفاء المعلومات من المخطط. باستخدام Aspose.Slides for Python عبر .NET يمكنك إخفاء العنوان، المحور الرأسي، المحور الأفقي وخطوط الشبكة من المخطط. يوضح مثال الشيفرة أدناه كيفية استخدام هذه الخصائص.

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
    slide = pres.slides[0]
    chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 140, 118, 320, 370)

    # إخفاء عنوان المخطط
    chart.has_title = False

    # إخفاء محور القيم
    chart.axes.vertical_axis.is_visible = False

    # إخفاء محور الفئات
    chart.axes.horizontal_axis.is_visible = False

    # إخفاء وسيلة الإيضاح
    chart.has_legend = False

    # إخفاء خطوط الشبكة الرئيسية
    chart.axes.horizontal_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL

    #for i in range(len(chart.chart_data.series)):
    #    chart.chart_data.series.remove_at(i)

    series = chart.chart_data.series[0]

    series.marker.symbol = charts.MarkerStyleType.CIRCLE
    series.labels.default_data_label_format.show_value = True
    series.labels.default_data_label_format.position = charts.LegendDataLabelPosition.TOP
    series.marker.size = 15

    # تعيين لون خط السلسلة
    series.format.line.fill_format.fill_type = slides.FillType.SOLID
    series.format.line.fill_format.solid_fill_color.color = draw.Color.purple
    series.format.line.dash_style = slides.LineDashStyle.SOLID

    pres.save("HideInformationFromChart.pptx", slides.export.SaveFormat.PPTX)

الأسئلة المتكررة

هل تعمل دفاتر Excel الخارجية كمصدر للبيانات، وكيف يؤثر ذلك على إعادة الحساب؟ نعم. يمكن للمخطط الإشارة إلى دفتر عمل خارجي: عند اتصالك أو تحديث المصدر الخارجي، تُؤخذ الصيغ والقيم من ذلك الدفتر، ويعكس المخطط التحديثات أثناء عمليات الفتح/التحرير. تتيح لك الواجهة البرمجية تحديد دفتر العمل الخارجي المسار وإدارة البيانات المرتبطة.

هل يمكنني حساب وعرض خطوط الاتجاه دون تنفيذ الانحدار بنفسي؟ نعم. Trendlines (خطية، أسية، وغيرها) يتم إضافتها وتحديثها بواسطة Aspose.Slides؛ يتم إعادة حساب معلماتها من بيانات السلسلة تلقائيًا، لذا لا تحتاج إلى تنفيذ حساباتك الخاصة.

إذا كان للعرض التقديمي مخططات متعددة بروابط خارجية، هل يمكنني التحكم في دفتر العمل الذي يستخدمه كل مخطط للقيم المحسوبة؟ نعم. يمكن لكل مخطط الإشارة إلى دفتر عمل خارجي الخاص به، أو يمكنك إنشاء/استبدال دفتر عمل خارجي لكل مخطط بشكل مستقل عن الآخرين.