ปรับแต่งแผนภูมิ 3 มิติในงานนำเสนอโดยใช้ Java
ภาพรวม
บทความนี้อธิบายวิธีการปรับแต่งแผนภูมิ 3 มิติใน Aspose.Slides โดยการกำหนดค่าการตั้งค่า Rotation3D เช่น RotationX, RotationY, DepthPercents และ RightAngleAxes รายละเอียดจะพาคุณผ่านขั้นตอนการสร้างงานนำเสนอ, เพิ่มแผนภูมิ 3 มิติด้วยข้อมูลเริ่มต้น, ใช้การตั้งค่า 3 มิติที่จำเป็น, และบันทึกงานนำเสนอที่ปรับแต่งแล้วเป็นไฟล์ PPTX
ตั้งค่า RotationX, RotationY และคุณสมบัติ DepthPercents ของแผนภูมิ 3 มิติ
Aspose.Slides for Java มี API ที่เรียบง่ายสำหรับการตั้งค่าคุณสมบัติเหล่านี้ บทความต่อไปนี้จะช่วยคุณตั้งค่าต่าง ๆ เช่น X,Y Rotation, DepthPercents เป็นต้น ตัวอย่างโค้ดจะทำการตั้งค่าคุณสมบัติเฉพาะที่กล่าวถึงด้านบน
- สร้างอินสแตนซ์ของคลาส การนำเสนอ
- เข้าถึงสไลด์แรก
- เพิ่มแผนภูมิพร้อมข้อมูลเริ่มต้น
- ตั้งค่าคุณสมบัติ Rotation3D
- เขียนงานนำเสนอที่แก้ไขแล้วลงไฟล์ PPTX
Presentation pres = new Presentation();
try {
// เข้าถึงสไลด์แรก
ISlide slide = pres.getSlides().get_Item(0);
// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
IChart chart = slide.getShapes().addChart(ChartType.StackedColumn3D, 0, 0, 500, 500);
// ตั้งค่าดัชนีของชีตข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;
// ดึงชีตข้อมูลแผนภูมิ
IChartDataWorkbook 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((byte)40);
chart.getRotation3D().setRotationY(270);
chart.getRotation3D().setDepthPercents(150);
// ดึงซีรีส์แผนภูมิที่สอง
IChartSeries 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((byte)100);
// เขียนงานนำเสนอลงดิสก์
pres.save("Rotation3D_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
รูปแบบแผนภูมิใดบ้างที่สนับสนุนโหมด 3 มิติใน Aspose.Slides?
Aspose.Slides รองรับรูปแบบ 3 มิติของแผนภูมิคอลัมน์ ได้แก่ Column 3D, Clustered Column 3D, Stacked Column 3D และ 100% Stacked Column 3D รวมถึงประเภท 3 มิติที่เกี่ยวข้องซึ่งเปิดเผยผ่านคลาส ChartType หากต้องการรายการที่แม่นยำและเป็นปัจจุบัน ให้ตรวจสอบสมาชิกของ ChartType ในเอกสารอ้างอิง API ของรุ่นที่คุณติดตั้ง
ฉันสามารถรับภาพราสเตอร์ของแผนภูมิ 3 มิติสำหรับรายงานหรือเว็บได้หรือไม่?
ได้ คุณสามารถส่งออกแผนภูมิเป็นภาพผ่าน chart API หรือ แปลงสไลด์ทั้งหมด เป็นรูปแบบเช่น PNG หรือ JPEG นี่เป็นประโยชน์เมื่อคุณต้องการตัวอย่างที่แม่นยำพิกเซลหรือฝังแผนภูมิลงในเอกสาร, แดชบอร์ด, หรือหน้าเว็บโดยไม่ต้องใช้ PowerPoint
การสร้างและเรนเดอร์แผนภูมิ 3 มิติขนาดใหญ่มีประสิทธิภาพเป็นอย่างไร?
ประสิทธิภาพขึ้นอยู่กับปริมาณข้อมูลและความซับซ้อนของภาพ หากต้องการผลลัพธ์ที่ดีที่สุด ควรลดเอฟเฟกต์ 3 มิติให้เหลือน้อยที่สุด, หลีกเลี่ยงการใช้พื้นผิวที่มี texture หนักบนผนังและพื้นที่พล็อต, จำกัดจำนวนจุดข้อมูลต่อซีรีส์เมื่อทำได้, และเรนเดอร์เป็นขนาดเอาต์พุตที่เหมาะสม (ความละเอียดและมิติ) เพื่อให้ตรงกับการแสดงผลหรือการพิมพ์ที่ต้องการ