Crear o Actualizar Gráficos de Presentación de PowerPoint en Java
Resumen
Este artículo describe cómo crear gráficos de presentación de PowerPoint en Java. También puedes actualizar los gráficos en Java. Cubre estos temas.
Gráfico: Normal
- Java Crear Gráfico de PowerPoint
- Java Crear Gráfico de Presentación
- Java Crear Gráfico de Presentación de PowerPoint
Gráfico: Disperso
- Java Crear Gráfico Disperso
- Java Crear Gráfico Disperso de PowerPoint
- Java Crear Gráfico Disperso de Presentación de PowerPoint
Gráfico: Circular
- Java Crear Gráfico Circular
- Java Crear Gráfico Circular de PowerPoint
- Java Crear Gráfico Circular de Presentación de PowerPoint
Gráfico: Mapa de Árbol
- Java Crear Gráfico de Mapa de Árbol
- Java Crear Gráfico de Mapa de Árbol de PowerPoint
- Java Crear Gráfico de Mapa de Árbol de Presentación de PowerPoint
Gráfico: Acciones
- Java Crear Gráfico de Acciones
- Java Crear Gráfico de Acciones de PowerPoint
- Java Crear Gráfico de Acciones de Presentación de PowerPoint
Gráfico: Caja y Bigote
- Java Crear Gráfico de Caja y Bigote
- Java Crear Gráfico de Caja y Bigote de PowerPoint
- Java Crear Gráfico de Caja y Bigote de Presentación de PowerPoint
Gráfico: Embudo
- Java Crear Gráfico de Embudo
- Java Crear Gráfico de Embudo de PowerPoint
- Java Crear Gráfico de Embudo de Presentación de PowerPoint
Gráfico: Sol
- Java Crear Gráfico de Sol
- Java Crear Gráfico de Sol de PowerPoint
- Java Crear Gráfico de Sol de Presentación de PowerPoint
Gráfico: Histograma
- Java Crear Gráfico de Histograma
- Java Crear Gráfico de Histograma de PowerPoint
- Java Crear Gráfico de Histograma de Presentación de PowerPoint
Gráfico: Radar
- Java Crear Gráfico de Radar
- Java Crear Gráfico de Radar de PowerPoint
- Java Crear Gráfico de Radar de Presentación de PowerPoint
Gráfico: Multisección
- Java Crear Gráfico Multisección
- Java Crear Gráfico Multisección de PowerPoint
- Java Crear Gráfico Multisección de Presentación de PowerPoint
Gráfico: Mapa
- Java Crear Gráfico de Mapa
- Java Crear Gráfico de Mapa de PowerPoint
- Java Crear Gráfico de Mapa de Presentación de PowerPoint
Acción: Actualizar Gráfico
- Java Actualizar Gráfico de PowerPoint
- Java Actualizar Gráfico de Presentación
- Java Actualizar Gráfico de Presentación de PowerPoint
Crear Gráfico
Los gráficos ayudan a las personas a visualizar datos rápidamente y obtener información que puede no ser inmediatamente obvia a partir de una tabla o una hoja de cálculo.
¿Por qué crear gráficos?
Usando gráficos, puedes
- agregar, condensar o resumir grandes cantidades de datos en una sola diapositiva de una presentación
- exponer patrones y tendencias en los datos
- deducir la dirección y el impulso de los datos a lo largo del tiempo o con respecto a una unidad de medida específica
- identificar valores atípicos, aberraciones, desviaciones, errores, datos absurdos, etc.
- comunicar o presentar datos complejos
En PowerPoint, puedes crear gráficos a través de la función de inserción, que proporciona plantillas utilizadas para diseñar muchos tipos de gráficos. Usando Aspose.Slides, puedes crear gráficos regulares (basados en tipos de gráficos populares) y gráficos personalizados.
Creando Gráficos Normales
Pasos: Crear Gráfico
- Pasos: Crear Gráfico de PowerPoint en Java
- Pasos: Crear Gráfico de Presentación en Java
- Pasos: Crear Gráfico de Presentación de PowerPoint en Java
Pasos de Código:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con algunos datos y especifica tu tipo de gráfico preferido.
- Agrega un título para el gráfico.
- Accede a la hoja de datos del gráfico.
- Borra todas las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega algunos nuevos datos de gráfico para las series de gráfico.
- Agrega un color de relleno para las series de gráfico.
- Agrega etiquetas para las series de gráfico.
- Escribe la presentación modificada como un archivo PPTX.
Este código Java te muestra cómo crear un gráfico normal:
// Instancia una clase de presentación que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Agrega un gráfico con sus datos predeterminados
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Establece el Título del gráfico
chart.getChartTitle().addTextFrameForOverriding("Título de Ejemplo");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.hasTitle();
// Establece la primera serie para mostrar valores
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Establece el índice para la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtiene la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Elimina las series y categorías generadas automáticamente
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// Agrega nuevas series
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Serie 1"),chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Serie 2"),chart.getType());
// Agrega nuevas categorías
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Categoría 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Categoría 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Categoría 3"));
// Toma la primera serie de gráfico
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Ahora pobla los 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));
// Establece el color de relleno para la serie
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
// Toma la segunda serie de gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Población de datos de la serie
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));
// Establece el color de relleno para la serie
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
// Crea etiquetas personalizadas para cada categoría para la nueva serie
// Establece la primera etiqueta para mostrar el nombre de la categoría
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// Muestra el valor para la tercera etiqueta
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// Guarda la presentación con el gráfico
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos Dispersos
Los gráficos dispersos (también conocidos como gráficos dispersos o gráficos x-y) se utilizan a menudo para verificar patrones o demostrar correlaciones entre dos variables.
Es posible que desees usar un gráfico disperso cuando
- tienes datos numéricos pareados
- tienes 2 variables que se emparejan bien
- deseas determinar si 2 variables están relacionadas
- tienes una variable independiente que tiene múltiples valores para una variable dependiente
Pasos: Crear Gráfico Disperso en Java | Pasos: Crear Gráfico Disperso de PowerPoint en Java | Pasos: Crear Gráfico Disperso de Presentación de PowerPoint en Java
- Por favor, sigue los pasos mencionados anteriormente en Creando Gráficos Normales
- En el tercer paso, agrega un gráfico con algunos datos y especifica tu tipo de gráfico como uno de los siguientes
- ChartType.ScatterWithMarkers - Representa un gráfico disperso.
- ChartType.ScatterWithSmoothLinesAndMarkers - Representa un gráfico disperso conectado por curvas, con marcadores de datos.
- ChartType.ScatterWithSmoothLines - Representa un gráfico disperso conectado por curvas, sin marcadores de datos.
- ChartType.ScatterWithStraightLinesAndMarkers - Representa un gráfico disperso conectado por líneas, con marcadores de datos.
- ChartType.ScatterWithStraightLines - Representa un gráfico disperso conectado por líneas, sin marcadores de datos.
Este código Java te muestra cómo crear un gráfico disperso con una serie diferente de marcadores:
// Instancia una clase de presentación que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Crea el gráfico predeterminado
IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Obtiene el índice de la hoja de datos del gráfico predeterminado
int defaultWorksheetIndex = 0;
// Obtiene la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Elimina las series de demostración
chart.getChartData().getSeries().clear();
// Agrega nuevas series
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Serie 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Serie 2"), chart.getType());
// Toma la primera serie de gráfico
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Agrega un nuevo punto (1:3) a la serie
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
// Agrega un nuevo punto (2:10)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
// Cambia el tipo de serie
series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
// Cambia el marcador de la serie de gráfico
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Star);
// Toma la segunda serie de gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Agrega un nuevo punto (5:2) ahí
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
// Agrega un nuevo punto (3:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
// Agrega un nuevo punto (2:2)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
// Agrega un nuevo punto (5:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
// Cambia el marcador de la serie de gráfico
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Circle);
pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos Circulares
Los gráficos circulares son mejores para mostrar la relación parte-todo en los datos, especialmente cuando los datos contienen etiquetas categóricas con valores numéricos. Sin embargo, si tus datos contienen muchas partes o etiquetas, es posible que desees considerar usar un gráfico de barras en su lugar.
Pasos: Crear Gráfico Circular en Java | Pasos: Crear Gráfico Circular de PowerPoint en Java | Pasos: Crear Gráfico Circular de Presentación de PowerPoint en Java
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva mediante su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (en este caso, ChartType.Pie).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Agrega nuevos puntos para los gráficos y agrega colores personalizados para los sectores del gráfico circular.
- Establece etiquetas para las series.
- Establece líneas líderes para las etiquetas de las series.
- Establece el ángulo de rotación para las diapositivas del gráfico circular.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico circular:
// Instancia una clase de presentación que representa un archivo PPTX
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide slides = pres.getSlides().get_Item(0);
// Agrega un gráfico con datos predeterminados
IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
// Establece el Título del gráfico
chart.getChartTitle().addTextFrameForOverriding("Título de Ejemplo");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Establece la primera serie para mostrar valores
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Establece el índice para la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtiene la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Elimina las series y categorías generadas automáticamente
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Agrega nuevas categorías
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "Primer Trimestre"));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "Segundo Trimestre"));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "Tercer Trimestre"));
// Agrega nuevas series
IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Serie 1"), chart.getType());
// Pobla los datos de la serie
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 establecer el color del sector
// series.IsColorVaried = true;
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);
// Establece el borde del 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);
point.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);
// Establece el borde del sector
point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
point1.getFormat().getLine().setWidth(3.0);
point1.getFormat().getLine().setStyle(LineStyle.Single);
point1.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);
// Establece el borde del sector
point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
point2.getFormat().getLine().setWidth(2.0);
point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
// Crea etiquetas personalizadas para cada categoría para la nueva serie
IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
// lbl.ShowCategoryName = true;
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);
// Muestra líneas líderes para el gráfico
series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
// Establece el Ángulo de Rotación para los Sectores del Gráfico Circular
chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
// Guarda la presentación con un gráfico
pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Línea
Los gráficos de línea (también conocidos como gráficos de líneas) son mejores en situaciones donde deseas demostrar cambios en el valor a lo largo del tiempo. Usando un gráfico de línea, puedes comparar muchos datos a la vez, rastrear cambios y tendencias a lo largo del tiempo, resaltar anomalías en las series de datos, etc.
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (en este caso,
ChartType.Line
). - Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de línea:
Presentation pres = new Presentation();
try {
IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);
pres.save("lineChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Por defecto, los puntos en un gráfico de línea están unidos por líneas continuas rectas. Si deseas que los puntos sean unidos por guiones en su lugar, puedes especificar tu tipo de guión preferido de esta manera:
IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);
for (IChartSeries series : lineChart.getChartData().getSeries())
{
series.getFormat().getLine().setDashStyle(LineDashStyle.Dash);
}
Creando Gráficos de Mapa de Árbol
Los gráficos de mapa de árbol son mejores para datos de ventas cuando deseas mostrar el tamaño relativo de las categorías de datos y (al mismo tiempo) atraer rápidamente la atención a los elementos que son grandes contribuyentes a cada categoría.
Pasos: Crear Gráfico de Mapa de Árbol en Java | Pasos: Crear Gráfico de Mapa de Árbol de PowerPoint en Java | Pasos: Crear Gráfico de Mapa de Árbol de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (en este caso, ChartType.TreeMap).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de mapa de árbol:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
//rama 1
IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Hoja1"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo1");
leaf.getGroupingLevels().setGroupingItem(2, "Rama1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Hoja2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Hoja3"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Hoja4"));
//rama 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Hoja5"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo3");
leaf.getGroupingLevels().setGroupingItem(2, "Rama2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Hoja6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Hoja7"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Hoja8"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Treemap);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));
series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);
pres.save("Treemap.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Acciones
Pasos: Crear Gráfico de Acciones en Java | Pasos: Crear Gráfico de Acciones de PowerPoint en Java | Pasos: Crear Gráfico de Acciones de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva mediante su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.OpenHighLowClose).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Especifica el formato de HiLowLines.
- Escribe la presentación modificada en un archivo PPTX.
El siguiente código de muestra de Java se utiliza para crear un gráfico de acciones:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
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, "Abrir"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "Alto"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Bajo"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Cerrar"), chart.getType());
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);
}
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Caja y Bigote
Pasos: Crear Gráfico de Caja y Bigote en Java | Pasos: Crear Gráfico de Caja y Bigote de PowerPoint en Java | Pasos: Crear Gráfico de Caja y Bigote de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo (ChartType.BoxAndWhisker).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de caja y bigote:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.BoxAndWhisker, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Categoría 1"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.BoxAndWhisker);
series.setQuartileMethod(QuartileMethodType.Exclusive);
series.setShowMeanLine(true);
series.setShowMeanMarkers(true);
series.setShowInnerPoints(true);
series.setShowOutlierPoints(true);
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));
pres.save("BoxAndWhisker.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Embudo
Pasos: Crear Gráfico de Embudo en Java | Pasos: Crear Gráfico de Embudo de PowerPoint en Java | Pasos: Crear Gráfico de Embudo de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.Funnel).
- Escribe la presentación modificada en un archivo PPTX.
El siguiente código de Java te muestra cómo crear un gráfico de embudo:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Funnel, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Categoría 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Categoría 2"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Categoría 3"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Categoría 4"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Categoría 5"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Categoría 6"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Funnel);
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));
pres.save("Funnel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Sol
Pasos: Crear Gráfico de Sol en Java | Pasos: Crear Gráfico de Sol de PowerPoint en Java | Pasos: Crear Gráfico de Sol de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (en este caso, ChartType.sunburst).
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de sol:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
//rama 1
IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Hoja1"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo1");
leaf.getGroupingLevels().setGroupingItem(2, "Rama1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Hoja2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Hoja3"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Hoja4"));
//rama 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Hoja5"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo3");
leaf.getGroupingLevels().setGroupingItem(2, "Rama2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Hoja6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Hoja7"));
leaf.getGroupingLevels().setGroupingItem(1, "Tallo4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Hoja8"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Sunburst);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
pres.save("Sunburst.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Histograma
Pasos: Crear Gráfico de Histograma en Java | Pasos: Crear Gráfico de Histograma de PowerPoint en Java | Pasos: Crear Gráfico de Histograma de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.Histogram).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de histograma:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
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;);
pres.save("Histogram.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Radar
Pasos: Crear Gráfico de Radar en Java | Pasos: Crear Gráfico de Radar de PowerPoint en Java | Pasos: Crear Gráfico de Presentación de Radar de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con algunos datos y especifica tu tipo de gráfico preferido (
ChartType.Radar
en este caso). - Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de radar:
Presentation pres = new Presentation();
try {
pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Radar, 20, 20, 400, 300);
pres.save("Radar-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos Multisección
Pasos: Crear Gráfico Multisección en Java | Pasos: Crear Gráfico Multisección de PowerPoint en Java | Pasos: Crear Gráfico Multisección de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation clase.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.ClusteredColumn).
- Accede a los datos del gráfico IChartDataWorkbook.
- Borra las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series de gráfico.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico multisección:
Presentation pres = new Presentation();
try {
IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
ch.getChartData().getSeries().clear();
ch.getChartData().getCategories().clear();
IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
fact.clear(0);
int defaultWorksheetIndex = 0;
IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
category.getGroupingLevels().setGroupingItem(1, "Grupo1");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
category.getGroupingLevels().setGroupingItem(1, "Grupo2");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
category.getGroupingLevels().setGroupingItem(1, "Grupo3");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
category.getGroupingLevels().setGroupingItem(1, "Grupo4");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));
// Agregar Series
IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Serie 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));
// Guarda la presentación con el gráfico
pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos de Mapa
Un gráfico de mapa es una visualización de un área que contiene datos. Los gráficos de mapa son mejores para comparar datos o valores en regiones geográficas.
Pasos: Crear Gráfico de Mapa en Java | Pasos: Crear Gráfico de Mapa de PowerPoint en Java | Pasos: Crear Gráfico de Mapa de Presentación de PowerPoint en Java
Este código Java te muestra cómo crear un gráfico de mapa:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Map, 50, 50, 500, 400);
pres.save("mapChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Creando Gráficos Combinados
Un gráfico combinado (o gráfico combo) es un gráfico que combina dos o más gráficos en un solo gráfico. Tal gráfico te permite resaltar, comparar o revisar las diferencias entre dos (o más) conjuntos de datos. De esta manera, ves la relación (si la hay) entre los conjuntos de datos.
Este código Java te muestra cómo crear un gráfico combinado en PowerPoint:
private static void createComboChart()
{
Presentation pres = new Presentation();
{
IChart chart = createChart(pres.getSlides().get_Item(0));
addFirstSeriesToChart(chart);
addSecondSeriesToChart(chart);
pres.save("combo-chart.pptx", SaveFormat.Pptx);
}
}
private static IChart createChart(ISlide slide)
{
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
final int worksheetIndex = 0;
chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Serie 1"), chart.getType());
chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 2, "Serie 2"), chart.getType());
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Categoría 1"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Categoría 2"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Categoría 3"));
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 30));
series = chart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 60));
return chart;
}
private static void addFirstSeriesToChart(IChart chart)
{
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
final int worksheetIndex = 0;
IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 3, "Serie 3"), ChartType.ScatterWithSmoothLines);
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 0, 1, 3),
workbook.getCell(worksheetIndex, 0, 2, 5));
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 1, 3, 10),
workbook.getCell(worksheetIndex, 1, 4, 13));
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 2, 3, 20),
workbook.getCell(worksheetIndex, 2, 4, 15));
series.setPlotOnSecondAxis(true);
}
private static void addSecondSeriesToChart(IChart chart)
{
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
final int worksheetIndex = 0;
IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 5, "Serie 4"),
ChartType.ScatterWithStraightLinesAndMarkers);
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 1, 3, 5),
workbook.getCell(worksheetIndex, 1, 4, 2));
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 1, 5, 10),
workbook.getCell(worksheetIndex, 1, 6, 7));
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 2, 5, 15),
workbook.getCell(worksheetIndex, 2, 6, 12));
series.getDataPoints().addDataPointForScatterSeries(
workbook.getCell(worksheetIndex, 3, 5, 12),
workbook.getCell(worksheetIndex, 3, 6, 9));
series.setPlotOnSecondAxis(true);
}
Actualizar Gráficos
Pasos: Actualizar Gráfico de PowerPoint en Java | Pasos: Actualizar Gráfico de Presentación en Java | Pasos: Actualizar Gráfico de Presentación de PowerPoint en Java
- Instancia una clase de Presentation que representa la presentación que contiene el gráfico que deseas actualizar.
- Obtén la referencia de una diapositiva utilizando su índice.
- Recorre todas las formas para encontrar el gráfico deseado.
- Accede a la hoja de datos del gráfico.
- Modifica los datos de las series del gráfico cambiando los valores de las series.
- Agrega una nueva serie y pobla los datos en ella.
- Escribe la presentación modificada como un archivo PPTX.
Este código Java te muestra cómo actualizar un gráfico:
Presentation pres = new Presentation();
try {
// Accede a la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Obtiene el gráfico con datos predeterminados
IChart chart = (IChart)sld.getShapes().get_Item(0);
// Establece el índice de la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtiene la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Cambia el nombre de la categoría del gráfico
fact.getCell(defaultWorksheetIndex, 1, 0, "Categoría Modificada 1");
fact.getCell(defaultWorksheetIndex, 2, 0, "Categoría Modificada 2");
// Toma la primera serie de gráfico
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Ahora actualiza los datos de la serie
fact.getCell(defaultWorksheetIndex, 0, 1, "Nueva_Serie1");// Modifica el nombre de la serie
series.getDataPoints().get_Item(0).getValue().setData(90);
series.getDataPoints().get_Item(1).getValue().setData(123);
series.getDataPoints().get_Item(2).getValue().setData(44);
// Toma la segunda serie de gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Ahora actualiza los datos de la serie
fact.getCell(defaultWorksheetIndex, 0, 2, "Nueva_Serie2");// Modifica el nombre de la serie
series.getDataPoints().get_Item(0).getValue().setData(23);
series.getDataPoints().get_Item(1).getValue().setData(67);
series.getDataPoints().get_Item(2).getValue().setData(99);
// Ahora, agrega una nueva serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Serie 3"), chart.getType());
// Toma la tercera serie de gráfico
series = chart.getChartData().getSeries().get_Item(2);
// Ahora pobla los datos de la serie
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));
chart.setType(ChartType.ClusteredCylinder);
// Guarda la presentación con el gráfico
pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Establecer Rango de Datos para Gráficos
Para establecer el rango de datos para un gráfico, haz lo siguiente:
- Instancia una clase de Presentation que representa la presentación que contiene el gráfico.
- Obtén una referencia de la diapositiva a través de su índice.
- Recorre todas las formas para encontrar el gráfico deseado.
- Accede a los datos del gráfico y establece el rango.
- Guarda la presentación modificada como un archivo PPTX.
Este código Java te muestra cómo establecer el rango de datos para un gráfico:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = (IChart)slide.getShapes().get_Item(0);
chart.getChartData().setRange("Sheet1!A1:B4");
pres.save("SetDataRange_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Usar Marcadores Predeterminados en Gráficos
Cuando usas un marcador predeterminado en gráficos, cada serie de gráficos recibe automáticamente diferentes símbolos de marcador predeterminados.
Este código Java te muestra cómo establecer un marcador de serie de gráfico automáticamente:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 10, 10, 400, 400);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Serie 1"), chart.getType());
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "C2"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 1, 23));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "C3"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 1, -10));
chart.getChartData().getCategories().add(fact.getCell(0, 4, 0, "C4"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 1, null));
chart.getChartData().getSeries().add(fact.getCell(0, 0, 2