Personalizza i grafici 3D nelle presentazioni usando Python
Panoramica
Questo articolo spiega come personalizzare un grafico 3D in Aspose.Slides configurando le impostazioni di Rotation3D come setRotationX, setRotationY, setDepthPercents e setRightAngleAxes. Viene illustrato come creare una presentazione, aggiungere un grafico 3D con dati predefiniti, applicare le impostazioni di visualizzazione 3D richieste e salvare la presentazione modificata come file PPTX.
Imposta rotazione X, rotazione Y e profondità di un grafico 3D
Aspose.Slides for Python via Java fornisce un’API semplice per impostare queste proprietà. L’esempio seguente mostra come impostare la rotazione X, la rotazione Y e la profondità di un grafico 3D.
- Crea un’istanza della classe Presentation.
- Accedi alla prima diapositiva.
- Aggiungi un grafico con dati predefiniti.
- Imposta le proprietà di rotazione 3D.
- Scrivi la presentazione modificata in un file PPTX.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation, SaveFormat
presentation = Presentation()
try:
# Accedi alla prima diapositiva.
slide = presentation.getSlides().get_Item(0)
# Aggiungi un grafico con dati predefiniti.
chart = slide.getShapes().addChart(ChartType.StackedColumn3D, 0, 0, 500, 500)
# Imposta l'indice del foglio di lavoro dei dati del grafico.
default_worksheet_index = 0
# Ottieni la cartella di lavoro dei dati del grafico.
workbook = chart.getChartData().getChartDataWorkbook()
# Aggiungi serie.
series_cell = workbook.getCell(default_worksheet_index, 0, 1, "Series 1")
chart.getChartData().getSeries().add(series_cell, chart.getType())
series_cell = workbook.getCell(default_worksheet_index, 0, 2, "Series 2")
chart.getChartData().getSeries().add(series_cell, chart.getType())
# Aggiungi categorie.
category_cell = workbook.getCell(default_worksheet_index, 1, 0, "Category 1")
chart.getChartData().getCategories().add(category_cell)
category_cell = workbook.getCell(default_worksheet_index, 2, 0, "Category 2")
chart.getChartData().getCategories().add(category_cell)
category_cell = workbook.getCell(default_worksheet_index, 3, 0, "Category 3")
chart.getChartData().getCategories().add(category_cell)
# Imposta le proprietà di rotazione 3D.
chart.getRotation3D().setRightAngleAxes(True)
chart.getRotation3D().setRotationX(jpype.JByte(40))
chart.getRotation3D().setRotationY(270)
chart.getRotation3D().setDepthPercents(150)
# Accedi alla seconda serie del grafico.
series = chart.getChartData().getSeries().get_Item(1)
# Popola i dati della serie.
data_cell = workbook.getCell(default_worksheet_index, 1, 1, jpype.JInt(20))
series.getDataPoints().addDataPointForBarSeries(data_cell)
data_cell = workbook.getCell(default_worksheet_index, 2, 1, jpype.JInt(50))
series.getDataPoints().addDataPointForBarSeries(data_cell)
data_cell = workbook.getCell(default_worksheet_index, 3, 1, jpype.JInt(30))
series.getDataPoints().addDataPointForBarSeries(data_cell)
data_cell = workbook.getCell(default_worksheet_index, 1, 2, jpype.JInt(30))
series.getDataPoints().addDataPointForBarSeries(data_cell)
data_cell = workbook.getCell(default_worksheet_index, 2, 2, jpype.JInt(10))
series.getDataPoints().addDataPointForBarSeries(data_cell)
data_cell = workbook.getCell(default_worksheet_index, 3, 2, jpype.JInt(60))
series.getDataPoints().addDataPointForBarSeries(data_cell)
# Salva la presentazione.
presentation.save("Rotation3D_out.pptx", SaveFormat.Pptx)
finally:
presentation.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 ai tipi 3D correlati esposti tramite la classe ChartType. Per un elenco preciso e aggiornato, controlla i membri di ChartType nella documentazione API della versione installata.
Posso ottenere un’immagine raster di un grafico 3D per un report o per il web?
Sì. Puoi esportare un grafico in un’immagine tramite l'chart API o render the entire slide in formati come PNG o JPEG. Questo è utile quando hai bisogno di un’anteprima pixel-perfect o desideri incorporare il grafico in documenti, dashboard o pagine web senza richiedere PowerPoint.
Quanto è efficiente la creazione e il rendering di grafici 3D di grandi dimensioni?
Le prestazioni dipendono dal volume dei dati e dalla complessità visiva. Per ottenere i migliori risultati, mantieni gli effetti 3D al minimo, evita texture pesanti su pareti e aree di tracciato, limita il numero di punti dati per serie quando possibile e rendi l’output a una dimensione (risoluzione e dimensioni) adeguata al display o alla stampa di destinazione.