سفارشیسازی نواحی نمودارهای ارائه در PHP
مرور کلی
این مقاله نشان میدهد چگونه در Aspose.Slides با ناحیهنمودار یک نمودار کار کنیم. این مقاله توضیح میدهد چگونه موقعیت و اندازه واقعی ناحیهنمودار را با اعتبارسنجی طرح نمودار و سپس خواندن مقادیر X، Y، عرض و ارتفاع آن به دست آورید.
همچنین نشان میدهد چگونه حالت چیدمان ناحیهنمودار را زمانی که چیدمان بهصورت دستی تنظیم میشود، پیکربندی کنید، با استفاده از LayoutTargetType برای تعریف اینکه آیا ناحیهنمودار بر اساس ناحیه داخلی یا ناحیه خارجی به همراه محورها و برچسبهای محور محاسبه میشود.
دریافت عرض و ارتفاع ناحیهنمودار یک نمودار
Aspose.Slides for PHP via Java یک API ساده برای . فراهم میکند.
- یک نمونه از کلاس Presentation ایجاد کنید.
- به اسلاید اول دسترسی پیدا کنید.
- نمودار را با دادههای پیشفرض اضافه کنید.
- قبل از دریافت مقادیر واقعی، متد Chart.validateChartLayout را فراخوانی کنید.
- موقعیت واقعی X (چپ) عنصر نمودار را نسبت به گوشهٔ بالای چپ نمودار به دست میآورد.
- بالای واقعی عنصر نمودار را نسبت به گوشهٔ بالای چپ نمودار به دست میآورد.
- عرض واقعی عنصر نمودار را به دست میآورد.
- ارتفاع واقعی عنصر نمودار را به دست میآورد.
# یک نمونه از کلاس Presentation ایجاد کنید
$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 via Java یک API ساده برای تنظیم حالت چیدمان ناحیهنمودار نمودار فراهم میکند. متدهای setLayoutTargetType و getLayoutTargetType به کلاس ChartPlotArea اضافه شدهاند. اگر چیدمان ناحیهنمودار بهصورت دستی تعریف شود، این خصوصیت تعیین میکند که ناحیهنمودار بر اساس داخل (بدون شامل کردن محور و برچسبهای محور) یا خارج (شامل محور و برچسبهای محور) چیدمان شود. دو مقدار ممکن وجود دارد که در شمارندهٔ LayoutTargetType تعریف شدهاند.
- LayoutTargetType::Inner - مشخص میکند اندازه ناحیهنمودار باید اندازهٔ ناحیهنمودار را تعیین کند، بدون شامل کردن علامتهای تیک و برچسبهای محور.
- LayoutTargetType::Outer - مشخص میکند اندازه ناحیهنمودار باید اندازهٔ ناحیهنمودار، علامتهای تیک و برچسبهای محور را تعیین کند.
کد نمونه در زیر آورده شده است.
# یک نمونه از کلاس Presentation ایجاد کنید
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 100, 600, 400);
$chart->getPlotArea()->setX(0.2);
$chart->getPlotArea()->setY(0.2);
$chart->getPlotArea()->setWidth(0.7);
$chart->getPlotArea()->setHeight(0.7);
$chart->getPlotArea()->setLayoutTargetType(LayoutTargetType::Inner);
$pres->save("SetLayoutMode_outer.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
واحدهای بازگردانی مقادیر x واقعی، y واقعی، عرض واقعی و ارتفاع واقعی چیست؟
در واحد پوینت؛ 1 اینچ = 72 پوینت. اینها واحدهای مختصات Aspose.Slides هستند.
چگونگی تفاوت ناحیهنمودار با ناحیهنمودار کلی (Chart Area) از نظر محتوا؟
ناحیهنمودار ناحیهٔ رسم دادهها (سریها، خطوط توری، خطوط روند و غیره) است؛ در حالی که ناحیهنمودار کلی (Chart Area) شامل عناصر پیرامونی (عنوان، legend و غیره) میشود. در نمودارهای 3 بعدی، ناحیهنمودار همچنین شامل دیوارها/کف و محورها میگردد.
وقتی چیدمان بهصورت دستی باشد، مقادیر x، y، عرض و ارتفاع ناحیهنمودار چگونه تفسیر میشوند؟
آنها بهصورت کسری (۰‑۱) از اندازه کلی نمودار هستند؛ در این حالت، موقعیتیابی خودکار غیرفعال میشود و کسری که تنظیم میکنید مورد استفاده قرار میگیرد.
چرا موقعیت ناحیهنمودار پس از افزودن/جابهجایی legend تغییر کرد؟
legend در ناحیهنمودار کلی در خارج از ناحیهنمودار قرار میگیرد اما بر چیدمان و فضای موجود تاثیر میگذارد، بنابراین ناحیهنمودار ممکن است زمانی که موقعیتیابی خودکار فعال است جابجا شود. (این رفتار استاندارد برای نمودارهای PowerPoint است.)