تحسين حسابات المخطط للعروض التقديمية في PHP
حساب القيم الفعلية لعناصر المخطط
توفر Aspose.Slides for PHP عبر Java واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. توفر طرق الفئة Axis معلومات حول الموضع الفعلي لعنصر محور المخطط (getActualMaxValue, getActualMinValue, getActualMajorUnit, getActualMinorUnit, getActualMajorUnitScale, getActualMinorUnitScale). من الضروري استدعاء الطريقة Chart.validateChartLayout مسبقًا لملء الخصائص بالقيم الفعلية.
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Area, 100, 100, 500, 350);
$chart->validateChartLayout();
$maxValue = $chart->getAxes()->getVerticalAxis()->getActualMaxValue();
$minValue = $chart->getAxes()->getVerticalAxis()->getActualMinValue();
$majorUnit = $chart->getAxes()->getHorizontalAxis()->getActualMajorUnit();
$minorUnit = $chart->getAxes()->getHorizontalAxis()->getActualMinorUnit();
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
حساب الموضع الفعلي لعناصر المخطط الأصلية
توفر Aspose.Slides for PHP عبر Java واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. توفر طرق الفئة ActualLayout معلومات حول الموضع الفعلي لعنصر المخطط الأصل (getActualX، getActualY، getActualWidth، getActualHeight). من الضروري استدعاء الطريقة Chart.validateChartLayout مسبقًا لملء الخصائص بالقيم الفعلية.
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350);
$chart->validateChartLayout();
$x = $chart->getPlotArea()->getActualX();
$y = $chart->getPlotArea()->getActualY();
$w = $chart->getPlotArea()->getActualWidth();
$h = $chart->getPlotArea()->getActualHeight();
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
إخفاء عناصر المخطط
يساعدك هذا الموضوع على فهم كيفية إخفاء المعلومات من المخطط. باستخدام Aspose.Slides for PHP عبر Java يمكنك إخفاء العنوان، المحور الرأسي، المحور الأفقي و خطوط الشبكة من المخطط. يوضح مثال الشيفرة أدناه كيفية استخدام هذه الخصائص.
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 140, 118, 320, 370);
# إخفاء عنوان المخطط
$chart->setTitle(false);
# /إخفاء محور القيم
$chart->getAxes()->getVerticalAxis()->setVisible(false);
# إظهار محور الفئة
$chart->getAxes()->getHorizontalAxis()->setVisible(false);
# إخفاء وسيلة الإيضاح
$chart->setLegend(false);
# إخفاء خطوط الشبكة الرئيسية
$chart->getAxes()->getHorizontalAxis()->getMajorGridLinesFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
for($i = 0; $i < java_values($chart->getChartData()->getSeries()->size()) ; $i++) {
$chart->getChartData()->getSeries()->removeAt($i);
}
$series = $chart->getChartData()->getSeries()->get_Item(0);
$series->getMarker()->setSymbol(MarkerStyleType::Circle);
$series->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
$series->getLabels()->getDefaultDataLabelFormat()->setPosition(LegendDataLabelPosition->Top);
$series->getMarker()->setSize(15);
# تعيين لون خط السلسلة
$series->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$series->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->MAGENTA);
$series->getFormat()->getLine()->setDashStyle(LineDashStyle->Solid);
$pres->save("HideInformationFromChart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
الأسئلة المتكررة
هل تعمل دفاتر Excel الخارجية كمصدر للبيانات، وكيف يؤثر ذلك على إعادة الحساب؟
نعم. يمكن للمخطط الإشارة إلى دفتر عمل خارجي: عند الاتصال بالمصدر الخارجي أو تحديثه، تُؤخذ الصيغ والقيم من ذلك الدفتر، ويعكس المخطط التحديثات أثناء عمليات الفتح/التعديل. تسمح لك الواجهة البرمجية تحديد دفتر العمل الخارجي بتحديد مسار دفتر العمل الخارجي وإدارة البيانات المرتبطة.
هل يمكنني حساب وعرض خطوط الاتجاه دون تنفيذ الانحدار بنفسي؟
نعم. Trendlines (خطية، أسية، وغيرها) يتم إضافتها وتحديثها بواسطة Aspose.Slides؛ يتم إعادة حساب معلماتها تلقائيًا من بيانات السلسلة، لذا لا تحتاج إلى تنفيذ حساباتك الخاصة.
إذا كان العرض التقديمي يحتوي على مخططات متعددة بروابط خارجية، هل يمكنني التحكم في دفتر العمل الذي يستخدمه كل مخطط للقيم المحسوبة؟
نعم. يمكن لكل مخطط الإشارة إلى دفتر عمل خارجي خاص به، أو يمكنك إنشاء/استبدال دفتر عمل خارجي لكل مخطط بشكل مستقل عن الآخرين.