crear graficas en powerpoint ppt java

Los gráficos se utilizan para resumir y representar visualmente los datos dentro de las presentaciones. Para visualizar los datos, MS PowerPoint proporciona una amplia gama de tipos de gráficos. Entre todos, los tipos de gráficos más utilizados incluyen gráficos circulares, gráficos de líneas, gráficos de barras, histogramas, gráficos de cotizaciones, etc. En este artículo, aprenderá cómo crear gráficos en presentaciones de PowerPoint usando Java.

API de Java para crear gráficos en PowerPoint

Para crear diferentes tipos de gráficos en presentaciones, usaremos Aspose.Slides for Java. Dicha API le permite crear y manipular presentaciones de PowerPoint desde sus aplicaciones Java. Además, le permite crear y agregar gráficos a las presentaciones sin problemas. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Crear gráfico de columnas en PowerPoint PPT usando Java

Los siguientes son los pasos para crear un gráfico de columnas en una presentación de PowerPoint utilizando Java.

  • Primero, cree una instancia de la clase Presentation (especifique la ruta del archivo en el constructor en caso de cargar una presentación existente).
  • Obtenga la referencia de la diapositiva especificando su índice.
  • Agregue un gráfico con datos predeterminados junto con el tipo ChartType.ClusteredColumn.
  • Borre las series y categorías predeterminadas.
  • Acceda al libro de datos del gráfico en un objeto IChartDataWorkbook.
  • Agregue nuevas series y categorías del gráfico al Workbook.
  • Agregue nuevos datos de gráficos a la serie de gráficos.
  • Finalmente, guarde la presentación usando el método Presentation.save(String, SaveFormat).

Como demostración, el siguiente ejemplo de código muestra cómo crear un gráfico de columnas en una presentación de PowerPoint usando Java.

// Crear una nueva presentación
Presentation pres = new Presentation();
try {
    
    // Agregue un nuevo gráfico de columnas y borre las categorías y series predeterminadas
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    // Acceder a los datos del gráfico
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    // Añadir categorías
    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Group1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Group2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Group3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Group4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Agregar serie
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
            ChartType.ClusteredColumn);

    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
    
    // Guardar presentación con gráfico
    pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

La siguiente es la captura de pantalla del gráfico de columnas resultante.

Crear gráfico de columnas en PowerPoint Java

Crear gráfico disperso en PowerPoint PPT usando Java

Los siguientes son los pasos para crear un gráfico disperso en la presentación de PowerPoint utilizando Java.

  • Cree una nueva presentación o cargue una existente usando la clase Presentation.
  • Obtenga la referencia de la diapositiva en el objeto ISlide.
  • Agregue un tipo de gráfico ScatterWithSmoothLines con datos predeterminados y obtenga su referencia en el objeto IChart.
  • Acceda al libro de datos del gráfico en el objeto IChartDataWorkbook y borre la serie predeterminada.
  • Agregue nuevas series a los datos del gráfico.
  • Acceda a cada serie en el objeto IChartSeries y agregue puntos de datos a la serie.
  • Accede al marcador de la serie usando IChartSeries.getMarker() y establece sus propiedades.
  • Guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo crear un gráfico disperso en presentaciones de PowerPoint usando Java.

// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
try {
    // Acceder a la primera diapositiva
    ISlide slide = pres.getSlides().get_Item(0);

    // Crear el gráfico predeterminado
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Obtener el índice de la hoja de cálculo de datos del gráfico predeterminado
    int defaultWorksheetIndex = 0;
    
    // Obtener la hoja de trabajo de datos del gráfico
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Eliminar serie de demostración
    chart.getChartData().getSeries().clear();
    
    // Agregar nueva serie
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
    
    // Tomar la primera serie de gráficos
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Agregue un nuevo punto (1: 3) allí.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Agregar nuevo punto (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Editar el tipo de serie
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Cambiar el marcador de la serie del gráfico
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Tome la segunda serie de gráficos
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Agregue un nuevo punto (5:2) allí.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Añadir nuevo punto (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Añadir nuevo punto (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Añadir nuevo punto (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Cambiar el marcador de la serie del gráfico
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    // Guardar la presentación
    pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

La siguiente captura de pantalla muestra el gráfico disperso resultante.

crear un gráfico disperso en powerpoint en C#

Crear gráfico circular en PowerPoint PPT usando Java

Los siguientes son los pasos para crear un gráfico circular en una presentación de PowerPoint utilizando Java.

  • Cree una nueva presentación o cargue una existente usando la clase Presentation.
  • Obtenga la referencia de la diapositiva proporcionando su índice.
  • Agregue un gráfico con datos predeterminados junto con el tipo ChartType.Pie.
  • Acceda a los datos del gráfico en un objeto IChartDataWorkbook.
  • Borre las series y categorías predeterminadas.
  • Crear nuevas series y categorías.
  • Agregue nuevos datos de gráficos para la serie de gráficos.
  • Agregue nuevos puntos para los gráficos y agregue colores personalizados para los sectores del gráfico circular.
  • Establezca etiquetas para series y líneas guía para etiquetas.
  • Establezca el ángulo de rotación para las diapositivas del gráfico circular.
  • Guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo crear un gráfico circular en una presentación de PowerPoint usando Java.

// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
try {
    // Acceder a la primera diapositiva
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Agregar gráfico con datos predeterminados
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Establecer el título del gráfico
    chart.getChartTitle().addTextFrameForOverriding("Sample Title");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // Establecer la primera serie para Mostrar valores
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Establecer el índice de la hoja de datos del gráfico
    int defaultWorksheetIndex = 0;
    
    // Obtener la hoja de trabajo de datos del gráfico
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Eliminar series y categorías generadas por defecto
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // Añadir nuevas categorías
    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "First Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
    
    // Agregar nueva serie
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    
    // Ahora llenando datos de series
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // No funciona en la nueva versión
    // Agregar nuevos puntos y configurar el color del sector
    // serie.EsColorVariado = verdadero;
    chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
    
    IChartDataPoint point = series.getDataPoints().get_Item(0);
    point.getFormat().getFill().setFillType(FillType.Solid);
    point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
	
    // Establecer borde de sector
    point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
    point.getFormat().getLine().setWidth(3.0);
    //point.getFormat().getLine().setStyle(LineStyle.ThinThick);
    //punto.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
    
    IChartDataPoint point1 = series.getDataPoints().get_Item(1);
    point1.getFormat().getFill().setFillType(FillType.Solid);
    point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
    
    // Establecer borde de sector
    point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    point1.getFormat().getLine().setWidth(3.0);
    //punto1.getFormat().getLine().setStyle(LineStyle.Single);
    //punto1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
    
    IChartDataPoint point2 = series.getDataPoints().get_Item(2);
    point2.getFormat().getFill().setFillType(FillType.Solid);
    point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
    
    // Establecer borde de sector
    point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    point2.getFormat().getLine().setWidth(2.0);
    //punto2.getFormat().getLine().setStyle(LineStyle.ThinThin);
    //point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
    
    // Cree etiquetas personalizadas para cada una de las categorías para nuevas series
    IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
    
    // lbl.ShowCategoryName = verdadero;
    lbl1.getDataLabelFormat().setShowValue(true);
    
    IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
    lbl2.getDataLabelFormat().setShowValue(true);
    lbl2.getDataLabelFormat().setShowLegendKey(true);
    lbl2.getDataLabelFormat().setShowPercentage(true);
    
    IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
    lbl3.getDataLabelFormat().setShowSeriesName(true);
    lbl3.getDataLabelFormat().setShowPercentage(true);
    
    // Mostrar líneas directrices para el gráfico
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Establecer ángulo de rotación para sectores de gráficos circulares
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Guardar presentación con gráfico
    pres.save("pie-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

La siguiente es la captura de pantalla del gráfico circular generado.

Crear gráfico circular en PowerPoint Java

Agregue un gráfico de histograma en PowerPoint PPTX usando Java

Los siguientes son los pasos para crear un gráfico de histograma en presentaciones de PowerPoint usando Java.

  • Cree una nueva presentación o cargue una existente usando la clase Presentation.
  • Obtenga la referencia de la diapositiva proporcionando su índice.
  • Agregue un gráfico con datos predeterminados junto con el tipo ChartType.Histogram.
  • Acceda a los datos del gráfico en el objeto IChartDataWorkbook.
  • Borre las series y categorías predeterminadas.
  • Añadir nuevas series y categorías.
  • Guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo crear un gráfico de histograma utilizando Java.

// Crear una nueva presentación
Presentation pres = new Presentation();
try {
    
    // Agregue un nuevo gráfico de histograma y borre sus categorías y series
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    // Acceder a los datos del gráfico
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    // Agregar serie
    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));

    chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic);

    // Guardar la presentación
    pres.save("histogram-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

La siguiente es la captura de pantalla del gráfico de histograma creado.

crear un gráfico de histograma en powerpoint en C#

Crear un gráfico de acciones en PowerPoint usando Java

El gráfico de cotizaciones también es uno de los tipos de gráficos más utilizados en las presentaciones de PowerPoint. Los siguientes son los pasos para crear un gráfico de cotizaciones en Java.

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de la diapositiva proporcionando su índice.
  • Agregue un gráfico con datos predeterminados junto con el tipo ChartType.OpenHighLowClose.
  • Acceda a los datos del gráfico en el objeto IChartDataWorkbook.
  • Borre las series y categorías predeterminadas.
  • Añadir nuevas series y categorías.
  • Agregue nuevos datos de gráficos para la serie de gráficos.
  • Especifique el formato HiLowLines.
  • Guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo agregar un gráfico de cotizaciones a una presentación de PowerPoint mediante C#.

// Crear una nueva presentación
Presentation pres = new Presentation();
try {
    
    // Agregar gráfico
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Borrar categorías y series
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    // Acceder a los datos del gráfico
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    // Añadir categorías
    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());

    // Añadir datos de serie
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for (IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

    // Guardar la presentación
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

La siguiente es la captura de pantalla del gráfico de acciones creado.

crear un gráfico de cotizaciones en powerpoint en C#

Más tipos de gráficos

Además de los gráficos mencionados anteriormente, también hay otros tipos de gráficos que puede agregar a las presentaciones de PowerPoint. Para obtener más información sobre los tipos de gráficos admitidos, puede visitar este artículo de documentación.

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin limitaciones de evaluación.

Prueba en línea

También puede probar la herramienta en línea gratuita para crear gráficos en presentaciones de PowerPoint, que se basa en Aspose.Slides.

Conclusión

En este artículo, ha aprendido a crear gráficos en presentaciones de PowerPoint utilizando Java. La guía paso a paso y los ejemplos de código muestran cómo agregar gráficos de columnas, gráficos de dispersión, gráficos circulares, histogramas y gráficos de cotizaciones. Puede explorar más sobre Aspose.Slides for Java usando documentación. En caso de que tenga alguna consulta, infórmenos a través de nuestro foro.

Ver también