ปรับแต่งพื้นที่พล็อตของแผนภูมิในการนำเสนอด้วย 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 หากการจัดวางของพื้นที่พล็อตกำหนดด้วยตนเอง คุณสมบัตินี้จะระบุว่าจะจัดวางพื้นที่พล็อตโดยใช้ภายใน (ไม่รวมแกนและป้ายแกน) หรือภายนอก (รวมแกนและป้ายแกน) มีสองค่าเป็นไปได้ซึ่งกำหนดใน enum 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
พื้นที่พล็อตแตกต่างจากพื้นที่แผนภูมิอย่างไรในแง่ของเนื้อหา?
พื้นที่พล็อตคือบริเวณการวาดข้อมูล (ชุดข้อมูล, เส้นกริด, เส้นแนวโน้ม ฯลฯ) ส่วนพื้นที่แผนภูมิรวมถึงองค์ประกอบรอบข้าง (หัวเรื่อง, คำอธิบาย, ฯลฯ) ในแผนภูมิ 3 มิติ พื้นที่พล็อตยังรวมถึงผนัง/พื้นและแกนด้วย
ค่าตำแหน่ง x, y, ความกว้างและความสูงของพื้นที่พล็อตถูกตีความอย่างไรเมื่อการจัดวางเป็นแบบแมนนวล?
เป็นอัตราส่วน (0–1) ของขนาดรวมของแผนภูมิ; ในโหมดนี้การวางตำแหน่งอัตโนมัติจะถูกปิดและใช้ค่าอัตราส่วนที่คุณตั้งไว้
ทำไมตำแหน่งของพื้นที่พล็อตจึงเปลี่ยนหลังจากเพิ่ม/ย้ายคำอธิบาย?
คำอธิบายอยู่ในพื้นที่แผนภูมิด้านนอกพื้นที่พล็อตแต่มีผลต่อการจัดวางและพื้นที่ที่ใช้ได้ ดังนั้นพื้นที่พล็อตอาจเลื่อนตำแหน่งเมื่อมีการวางตำแหน่งอัตโนมัติ (นี่เป็นพฤติกรรมมาตรฐานของแผนภูมิ PowerPoint)