Personalizza i grafici 3D nelle presentazioni usando Java

Panoramica

Questo articolo spiega come personalizzare un grafico 3D in Aspose.Slides configurando le impostazioni Rotation3D come RotationX, RotationY, DepthPercents e RightAngleAxes. Guidiamo attraverso la creazione di una presentazione, l’aggiunta di un grafico 3D con dati predefiniti, l’applicazione delle impostazioni di visualizzazione 3D richieste e il salvataggio della presentazione modificata come file PPTX.

Imposta RotationX, RotationY e DepthPercents Properties of a 3D Chart

Aspose.Slides per Java fornisce un’API semplice per impostare queste proprietà. L’articolo seguente ti aiuterà a impostare diverse proprietà come X,Y Rotation, DepthPercents ecc. Il codice di esempio applica le impostazioni delle proprietà sopra citate.

  1. Crea un’istanza della classe Presentation.
  2. Accedi alla prima diapositiva.
  3. Aggiungi un grafico con dati predefiniti.
  4. Imposta le proprietà Rotation3D.
  5. Scrivi la presentazione modificata in un file PPTX.
Presentation pres = new Presentation();
try {
    // Accedi alla prima diapositiva
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Aggiungi un grafico con dati predefiniti
    IChart chart = slide.getShapes().addChart(ChartType.StackedColumn3D, 0, 0, 500, 500);
    
    // Impostazione dell'indice del foglio dati del grafico
    int defaultWorksheetIndex = 0;
    
    // Recupero del foglio di lavoro dei dati del grafico
    IChartDataWorkbook 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((byte)40);
    chart.getRotation3D().setRotationY(270);
    chart.getRotation3D().setDepthPercents(150);
    
    // Prendi la seconda serie del grafico
    IChartSeries series = chart.getChartData().getSeries().get_Item(1);
    
    // Ora popolamento dei 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 valore OverLap
    series.getParentSeriesGroup().setOverlap((byte)100);
    
    // Scrivi la presentazione su disco
    pres.save("Rotation3D_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) 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 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 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. È utile quando è necessario un’anteprima pixel-perfetta o vuoi incorporare il grafico in documenti, dashboard o pagine web senza richiedere PowerPoint.

Qual è la performance nella costruzione e nel rendering di grandi grafici 3D?

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 del grafico, limita il numero di punti dati per serie quando possibile e renderizza in un output di dimensioni adeguate (risoluzione e dimensioni) per corrispondere al display o alle esigenze di stampa target.