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 Mapa de Árbol
- Java Crear Gráfico Mapa de Árbol de PowerPoint
- Java Crear Gráfico 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 Bigotes
- Java Crear Gráfico de Caja y Bigotes
- Java Crear Gráfico de Caja y Bigotes de PowerPoint
- Java Crear Gráfico de Caja y Bigotes 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: Radial
- Java Crear Gráfico Radial
- Java Crear Gráfico Radial de PowerPoint
- Java Crear Gráfico Radial de Presentación de PowerPoint
Gráfico: Multicategoría
- Java Crear Gráfico Multicategoría
- Java Crear Gráfico Multicategoría de PowerPoint
- Java Crear Gráfico Multicategoría 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 pueden no ser obvios de inmediato en una tabla o 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 en 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 sin sentido, etc.
- comunicar o presentar datos complejos
En PowerPoint, puedes crear gráficos mediante 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 normales (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 la referencia de una 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.
- Limpia todas las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega algunos nuevos datos de gráfico para las series del gráfico.
- Agrega un color de relleno para las series del gráfico.
- Agrega etiquetas para las series del 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 Muestra");
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 por defecto
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 del 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 del gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Pobla los 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 de 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.
Puedes querer usar un gráfico disperso cuando:
- tienes datos numéricos emparejados
- tienes 2 variables que se emparejan bien juntas
- quieres 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
- Sigue los pasos mencionados anteriormente en Creando Gráficos Normales.
- Para 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 el Gráfico Disperso.
- ChartType.ScatterWithSmoothLinesAndMarkers - Representa el Gráfico Disperso conectado por curvas, con marcadores de datos.
- ChartType.ScatterWithSmoothLines - Representa el Gráfico Disperso conectado por curvas, sin marcadores de datos.
- ChartType.ScatterWithStraightLinesAndMarkers - Representa el Gráfico Disperso conectado por líneas, con marcadores de datos.
- ChartType.ScatterWithStraightLines - Representa el Gráfico Disperso conectado por líneas, sin marcadores de datos.
Este código Java te muestra cómo crear gráficos dispersos 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 la serie 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 del 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 la serie
series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
// Cambia el marcador de la serie del gráfico
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Star);
// Toma la segunda serie del gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Agrega un nuevo punto (5:2) allí
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 del 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 de parte a 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, puedes 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 la referencia de una diapositiva por 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.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Agrega nuevos puntos para gráficos y agrega colores personalizados para los sectores del gráfico circular.
- Establece etiquetas para las series.
- Establece líneas de líder para las etiquetas de las series.
- Establece el ángulo de rotación para los sectores del gráfico circular.
- Escribe la presentación modificada a 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 Muestra");
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 por defecto
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());
// Población de 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 puntos nuevos y establecer el color de los sectores
// 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 una de las categorías 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 las Líneas de Líder 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íneas
Los gráficos de líneas (también conocidos como gráficos de líneas) son mejores en situaciones donde deseas demostrar cambios en los valores a lo largo del tiempo. Usando un gráfico de líneas, 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 la referencia de una 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.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Escribe la presentación modificada a un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de líneas:
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íneas están unidos por líneas continuas rectas. Si deseas que los puntos estén 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 Mapa de Árbol en Java | Pasos: Crear Gráfico Mapa de Árbol de PowerPoint en Java | Pasos: Crear Gráfico Mapa de Árbol de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation class.
- Obtén la referencia de una 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.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Escribe la presentación modificada a 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 class.
- Obtén la referencia de una diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.OpenHighLowClose).
- Accede a los datos del gráfico IChartDataWorkbook.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Especifica el formato de HiLowLines.
- Escribe la presentación modificada en un archivo PPTX.
Muestra de código Java utilizado 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 Bigotes
Pasos: Crear Gráfico de Caja y Bigotes en Java | Pasos: Crear Gráfico de Caja y Bigotes de PowerPoint en Java | Pasos: Crear Gráfico de Caja y Bigotes de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation class.
- Obtén la referencia de una diapositiva a través de su índice.
- Agrega un gráfico con datos predeterminados junto con el tipo deseado (ChartType.BoxAndWhisker).
- Accede a los datos del gráfico IChartDataWorkbook.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Escribe la presentación modificada como un archivo PPTX.
Este código Java te muestra cómo crear un gráfico de caja y bigotes:
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 class.
- Obtén la referencia de una 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 como un archivo PPTX.
El código Java 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 Radiales
Pasos: Crear Gráfico Radial en Java | Pasos: Crear Gráfico Radial de PowerPoint en Java | Pasos: Crear Gráfico Radial de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation class.
- Obtén la referencia de una 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 como un archivo PPTX.
Este código Java te muestra cómo crear un gráfico radial:
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 class.
- Obtén la referencia de una 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.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Escribe la presentación modificada a 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 Radiales
Pasos: Crear Gráfico Radial en Java | Pasos: Crear Gráfico Radial de PowerPoint en Java | Pasos: Crear Gráfico Radial de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation class.
- Obtén la referencia de una 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 radial:
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 Multicategóricos
Pasos: Crear Gráfico Multicategórico en Java | Pasos: Crear Gráfico Multicategórico de PowerPoint en Java | Pasos: Crear Gráfico Multicategórico de Presentación de PowerPoint en Java
- Crea una instancia de la Presentation class.
- Obtén la referencia de una 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.
- Limpia las series y categorías predeterminadas.
- Agrega nuevas series y categorías.
- Agrega nuevos datos de gráfico para las series del gráfico.
- Escribe la presentación modificada en un archivo PPTX.
Este código Java te muestra cómo crear un gráfico multicategórico:
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"));
// Agregando 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 a través de 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 de Combinación
Un gráfico de combinación (o gráfico combinado) 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 de combinación 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 | Pasos: Actualizar Gráfico de Presentación de PowerPoint en Java
- Instancia una clase Presentation que representa la presentación que contiene el gráfico que deseas actualizar.
- Obtén la referencia de una diapositiva por 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 la serie de gráficos 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);
// Obtén el gráfico con datos predeterminados
IChart chart = (IChart)sld.getShapes().get_Item(0);
// Estableciendo el índice de la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obteniendo la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Cambiando 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 del gráfico
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Ahora actualizando los datos de la serie
fact.getCell(defaultWorksheetIndex, 0, 1, "Nueva_Serie1");// Modificando 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 del gráfico
series = chart.getChartData().getSeries().get_Item(1);
// Ahora actualizando los datos de la serie
fact.getCell(defaultWorksheetIndex, 0, 2, "Nueva_Serie2");// Modificando 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, agregando una nueva serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Serie 3"), chart.getType());
// Toma la tercera serie del gráfico
series = chart.getChartData().getSeries().get_Item(2);
// Ahora poblamos 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();
}
Estableciendo Rango de Datos para Gráficos
Para establecer el rango de datos para un gráfico, haz esto:
- Instancia una clase Presentation que represente la presentación que contiene el gráfico.
- Obtén la referencia de una 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();
}
Usando Marcadores Predeterminados en Gráficos
Cuando usas un marcador predeterminado en gráficos, cada serie de gráficos obtiene símbolos de marcadores predeterminados diferentes automáticamente.
Este código Java te muestra cómo establecer automáticamente el marcador de la serie en un gráfico:
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, "Serie 2"), chart.getType());
//Toma la segunda serie del gráfico
IChartSeries series2 = chart.getChartData().getSeries().get_Item(1);
//Ahora poblamos los datos de la serie
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 2, 30));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 2, 10));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 2, 60));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 2, 40));
chart.setLegend(true);
chart.getLegend().setOverlay(false