ปรับแต่งแผนภูมิ 3D ในงานนำเสนอด้วย PHP
ภาพรวม
บทความนี้อธิบายวิธีการปรับแต่งแผนภูมิ 3D ใน Aspose.Slides โดยการกำหนดค่าการตั้งค่า Rotation3D เช่น RotationX , RotationY , DepthPercents และ RightAngleAxes โดยจะอธิบายขั้นตอนการสร้างการนำเสนอ, เพิ่มแผนภูมิ 3D พร้อมข้อมูลเริ่มต้น, กำหนดค่าการมอง 3D ที่จำเป็น, แล้วบันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
ตั้งค่า RotationX, RotationY และ DepthPercents ของแผนภูมิ 3D
Aspose.Slides for PHP via Java มี API ง่ายสำหรับการตั้งค่าคุณสมบัติเหล่านี้ บทความต่อไปนี้จะช่วยคุณในการตั้งค่าคุณสมบัติต่าง ๆ เช่น X,Y Rotation, DepthPercents เป็นต้น ตัวอย่างโค้ดแสดงการตั้งค่าคุณสมบัติที่กล่าวถึงข้างต้น
- สร้างอินสแตนซ์ของคลาส Presentation
- เข้าถึงสไลด์แรก
- เพิ่มแผนภูมิพร้อมข้อมูลเริ่มต้น
- ตั้งค่าคุณสมบัติ Rotation3D
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
$pres = new Presentation();
try {
# เข้าถึงสไลด์แรก
$slide = $pres->getSlides()->get_Item(0);
# เพิ่มแผนภูมิพร้อมข้อมูลเริ่มต้น
$chart = $slide->getShapes()->addChart(ChartType::StackedColumn3D, 0, 0, 500, 500);
# กำหนดดัชนีของชีตข้อมูลแผนภูมิ
$defaultWorksheetIndex = 0;
# ดึงเวิร์กชีตข้อมูลแผนภูมิ
$fact = $chart->getChartData()->getChartDataWorkbook();
# เพิ่มชุดข้อมูล
$chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 1, "Series 1"), $chart->getType());
$chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 2, "Series 2"), $chart->getType());
# เพิ่มประเภท
$chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
$chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
$chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
# ตั้งค่าคุณสมบัติ Rotation3D
$chart->getRotation3D()->setRightAngleAxes(true);
$chart->getRotation3D()->setRotationX(40);
$chart->getRotation3D()->setRotationY(270);
$chart->getRotation3D()->setDepthPercents(150);
# ดึงชุดข้อมูลแผนภูมิที่สอง
$series = $chart->getChartData()->getSeries()->get_Item(1);
# กำลังเติมข้อมูลชุดข้อมูล
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 1, 20));
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 50));
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 30));
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 2, 30));
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 2, 10));
$series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 2, 60));
# ตั้งค่า OverLap
$series->getParentSeriesGroup()->setOverlap(100);
# บันทึกการนำเสนอลงดิสก์
$pres->save("Rotation3D_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
คำถามที่พบบ่อย
ประเภทแผนภูมิใดบ้างที่รองรับโหมด 3D ใน Aspose.Slides?
Aspose.Slides รองรับรูปแบบ 3D ของแผนภูมิคอลัมน์ ได้แก่ Column 3D, Clustered Column 3D, Stacked Column 3D และ 100% Stacked Column 3D พร้อมกับประเภท 3D ที่เกี่ยวข้องซึ่งเปิดเผยผ่านคลาส ChartType เพื่อดูรายการที่แม่นยำและเป็นปัจจุบัน ให้ตรวจสอบสมาชิกของ ChartType ในเอกสารอ้างอิง API ของเวอร์ชันที่คุณติดตั้ง
ฉันสามารถรับภาพแรสเตอร์ของแผนภูมิ 3D สำหรับรายงานหรือเว็บได้หรือไม่?
ได้ คุณสามารถส่งออกแผนภูมิเป็นภาพผ่าน chart API หรือ เรนเดอร์สไลด์ทั้งหมด เป็นรูปแบบเช่น PNG หรือ JPEG ซึ่งเป็นประโยชน์เมื่อคุณต้องการตัวอย่างที่พิกเซลสมบูรณ์หรือฝังแผนภูมิลงในเอกสาร, แดชบอร์ดหรือหน้าเว็บโดยไม่ต้องใช้ PowerPoint
ประสิทธิภาพการสร้างและแสดงผลแผนภูมิ 3D ขนาดใหญ่เป็นอย่างไร?
ประสิทธิภาพขึ้นอยู่กับปริมาณข้อมูลและความซับซ้อนของภาพ เพื่อให้ได้ผลดีที่สุด ควรลดเอฟเฟกต์ 3D ให้เหลือน้อยที่สุด, หลีกเลี่ยงการใช้พื้นผิวที่มีเท็กซ์เจอร์หนักบนผนังและพื้นที่พล็อต, จำกัดจำนวนจุดข้อมูลต่อชุดเมื่อทำได้, และเรนเดอร์เป็นขนาดเอาต์พุตที่เหมาะสม (ความละเอียดและมิติ) เพื่อให้สอดคล้องกับการแสดงผลหรือการพิมพ์ที่ต้องการ