Personalizza grafici 3D nelle presentazioni usando PHP
Panoramica
Questo articolo spiega come personalizzare un grafico 3D in Aspose.Slides configurando le impostazioni Rotation3D come RotationX, RotationY, DepthPercents e RightAngleAxes. Viene mostrato come creare una presentazione, aggiungere un grafico 3D con dati predefiniti, applicare le impostazioni di visualizzazione 3D necessarie e salvare la presentazione modificata come file PPTX.
Imposta le proprietà RotationX, RotationY e DepthPercents di un grafico 3D
Aspose.Slides per PHP via Java fornisce una semplice API per impostare queste proprietà. Questo articolo ti aiuterà a impostare diverse proprietà come X,Y Rotation, DepthPercents ecc. Il codice di esempio applica le impostazioni sopra descritte.
- Crea un’istanza della classe Presentation.
- Accedi alla prima diapositiva.
- Aggiungi un grafico con dati predefiniti.
- Imposta le proprietà Rotation3D.
- Scrivi la presentazione modificata su un file PPTX.
$pres = new Presentation();
try {
# Accedi alla prima diapositiva
$slide = $pres->getSlides()->get_Item(0);
# Aggiungi grafico con dati predefiniti
$chart = $slide->getShapes()->addChart(ChartType::StackedColumn3D, 0, 0, 500, 500);
# Impostazione dell'indice del foglio dati del grafico
$defaultWorksheetIndex = 0;
# Ottenere il foglio di lavoro dei dati del grafico
$fact = $chart->getChartData()->getChartDataWorkbook();
# Aggiungi serie
$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());
# Aggiungi categorie
$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"));
# Imposta le proprietà Rotation3D
$chart->getRotation3D()->setRightAngleAxes(true);
$chart->getRotation3D()->setRotationX(40);
$chart->getRotation3D()->setRotationY(270);
$chart->getRotation3D()->setDepthPercents(150);
# Prendi la seconda serie del grafico
$series = $chart->getChartData()->getSeries()->get_Item(1);
# Ora popolando i dati della serie
$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));
# Imposta il valore Overlap
$series->getParentSeriesGroup()->setOverlap(100);
# Scrivi la presentazione su disco
$pres->save("Rotation3D_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Quali tipi di grafico supportano la modalità 3D in Aspose.Slides?
Aspose.Slides supporta varianti 3D dei grafici a colonne, inclusi Column 3D, Clustered Column 3D, Stacked Column 3D e 100% Stacked Column 3D, insieme a tipi 3D correlati esposti tramite la classe ChartType. Per un elenco preciso e aggiornato, controlla i membri di ChartType nella documentazione API della tua versione installata.
Posso ottenere un’immagine raster di un grafico 3D per un report o il web?
Sì. Puoi esportare un grafico in un’immagine tramite l'API del grafico o renderizzare l’intera diapositiva in formati come PNG o JPEG. Questo è utile quando serve un’anteprima pixel‑perfect o vuoi incorporare il grafico in documenti, dashboard o pagine web senza richiedere PowerPoint.
Qual è l’efficienza nella creazione e nel rendering di grandi grafici 3D?
Le prestazioni dipendono dal volume dei dati e dalla complessità visiva. Per ottenere i migliori risultati, mantieni minimi gli effetti 3D, evita texture pesanti su pareti e aree del grafico, limita il numero di punti dati per serie quando possibile e renderizza a una risoluzione e dimensioni adeguate all’output desiderato, sia per visualizzazione che per stampa.