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 para Crear Gráficos en PowerPoint
- Crear gráfico de columnas en PowerPoint usando Java
- Crear gráfico disperso en PowerPoint usando Java
- Agregar gráfico circular en PowerPoint usando Java
- Agregar gráfico de histograma en PowerPoint usando Java
- Crear un gráfico de acciones en 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 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 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.
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 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.
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.