Personalizar gráficos 3D en presentaciones en Android

Establecer las propiedades RotationX, RotationY y DepthPercents de un gráfico 3D

Aspose.Slides para Android a través de Java proporciona una API simple para configurar estas propiedades. El siguiente artículo le ayudará a establecer diferentes propiedades como X,Y Rotation, DepthPercents, etc. El código de ejemplo aplica la configuración de las propiedades mencionadas.

  1. Cree una instancia de la clase Presentation.
  2. Acceda a la primera diapositiva.
  3. Agregue un gráfico con datos predeterminados.
  4. Establezca las propiedades Rotation3D.
  5. Escriba la presentación modificada en un archivo PPTX.
Presentation pres = new Presentation();
try {
    // Acceder a la primera diapositiva
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Añadir gráfico con datos predeterminados
    IChart chart = slide.getShapes().addChart(ChartType.StackedColumn3D, 0, 0, 500, 500);
    
    // Establecer el índice de la hoja de datos del gráfico
    int defaultWorksheetIndex = 0;
    
    // Obtener la hoja de datos del gráfico
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Añadir series
    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());
    
    // Añadir categorías
    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"));
    
    // Establecer propiedades Rotation3D
    chart.getRotation3D().setRightAngleAxes(true);
    chart.getRotation3D().setRotationX((byte)40);
    chart.getRotation3D().setRotationY(270);
    chart.getRotation3D().setDepthPercents(150);
    
    // Tomar la segunda serie del gráfico
    IChartSeries series = chart.getChartData().getSeries().get_Item(1);
    
    // Ahora rellenando datos de la 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));
    
    // Establecer valor de superposición
    series.getParentSeriesGroup().setOverlap((byte)100);
    
    // Guardar la presentación en disco
    pres.save("Rotation3D_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Preguntas frecuentes

¿Qué tipos de gráficos admiten el modo 3D en Aspose.Slides?

Aspose.Slides admite variantes 3D de gráficos de columnas, incluyendo Column 3D, Clustered Column 3D, Stacked Column 3D y 100% Stacked Column 3D, junto con tipos 3D relacionados expuestos a través de la clase ChartType. Para obtener una lista exacta y actualizada, consulte los miembros de ChartType en la referencia de API de la versión que tiene instalada.

¿Puedo obtener una imagen rasterizada de un gráfico 3D para un informe o la web?

Sí. Puede exportar un gráfico a una imagen mediante la chart API o renderizar toda la diapositiva a formatos como PNG o JPEG. Esto es útil cuando necesita una vista previa pixel-perfect o desea incrustar el gráfico en documentos, paneles de control o páginas web sin requerir PowerPoint.

¿Qué tan eficiente es crear y renderizar gráficos 3D grandes?

El rendimiento depende del volumen de datos y la complejidad visual. Para obtener los mejores resultados, mantenga los efectos 3D al mínimo, evite texturas pesadas en paredes y áreas de trazado, limite la cantidad de puntos de datos por serie cuando sea posible y renderice a una salida de tamaño adecuado (resolución y dimensiones) para coincidir con la pantalla o las necesidades de impresión del destino.