Trabajar con Gráficos

El nuevo método insertChart se agregó a la clase DocumentBuilder. Entonces, veamos cómo insertar un gráfico de columnas simple en el documento usando el método insertChart.

Cómo Insertar un Gráfico desde Cero usando Aspose.Words

En esta sección aprenderemos a insertar un gráfico en un documento.

Insertar Gráfico de Columnas

El siguiente ejemplo de código muestra cómo insertar un gráfico de columnas:

El código produce el siguiente resultado:

column-chart-aspose-words-java-1

Hay cuatro sobrecargas diferentes para el método de adición de series, que se expusieron para cubrir todas las variantes posibles de fuentes de datos para todos los tipos de gráficos:

El código produce el siguiente resultado:

column-chart-aspose-words-java-2

Insertar Gráfico de Dispersión

El siguiente ejemplo de código muestra cómo insertar un gráfico de dispersión:

El código produce el siguiente resultado:

scutter-chart-aspose-words-java

Insertar Gráfico de Área

El siguiente ejemplo de código muestra cómo insertar un gráfico de áreas:

El código produce el siguiente resultado:

area-chart-aspose-words-java

Insertar Gráfico de Burbujas

El siguiente ejemplo de código muestra cómo insertar un gráfico de burbujas:

El código produce el siguiente resultado:

bubble-chart-aspose-words-java

Trabajar con gráficos a través del objeto Shape.Chart

Una vez que el gráfico se insertó y se llenó con datos, puede cambiar su apariencia. La propiedad Shape.Chart contiene todas las opciones relacionadas con el gráfico disponibles a través del público API.

Por ejemplo, cambiemos el título del gráfico o el comportamiento de la leyenda.:

El código genera los siguientes resultados:

line-chart-aspose-words-java-1

Cómo trabajar con ChartSeriesCollection de Gráfico

Echemos un vistazo a la colección ChartSeries. Todas las series de gráficos están disponibles a través de la colección chart.getSeries(), que es Iterable:

Puede eliminar series una por una o borrarlas todas, así como agregar una nueva si es necesario. El gráfico recién insertado tiene algunas series predeterminadas agregadas a esta colección. Para eliminarlos, debe llamar al método chart.getSeries().clear().

Trabajando con una sola Clase ChartSeries

Aquí se explica cómo trabajar con una serie en particular.

Por favor, vea el resultado a continuación:

line-chart-aspose-words-java-2

Todos los ChartSeries individuales tienen opciones predeterminadas de ChartDataPoint, intente usar el siguiente código para cambiarlas:

line-chart-aspose-words-java3

Cómo trabajar con un solo ChartDataPoint de un ChartSeries

Con ChartDataPoint puede personalizar el formato de un solo punto de datos de la serie de gráficos:

Por favor, vea el resultado a continuación:

line-chart-aspose-words-java-4

Cómo trabajar con ChartDataLabel de un solo ChartSeries

Con ChartDataLabel puede especificar el formato de una sola etiqueta de datos de la serie de gráficos, como mostrar / ocultar LegendKey, CategoryName, SeriesName, Valor etc:

Por favor, vea el resultado a continuación:

bar-chart-aspose-words-java

Cómo definir Opciones predeterminadas para ChartDataLabels de ChartSeries

La clase ChartDataLabelCollection define propiedades que se pueden usar para establecer opciones predeterminadas para ChartDataLabels para el gráfico Series. Estas propiedades incluyen setShowCategoryName, setShowBubbleSize, setShowPercentage, setShowSeriesName, setShowValue etc.:

Por favor, vea el resultado a continuación:

pie-chart-aspose-words-java

Cómo Formatear la Etiqueta del Número de Datos del Gráfico

Con la propiedad NumberFormat, puede especificar el formato numérico de una sola etiqueta de datos del gráfico.

El siguiente ejemplo de código muestra cómo formatear un número de la etiqueta de datos:

Cómo Establecer las Propiedades del Eje del Gráfico

Si desea trabajar con el eje del gráfico, la escala y las unidades de visualización para el eje del valor, utilice las clases ChartAxis, AxisDisplayUnit y AxisScaling.

El siguiente ejemplo de código muestra cómo definir las propiedades de los ejes X e Y:

Cómo establecer el valor DateTime del Eje

El siguiente ejemplo de código muestra cómo establecer valores de fecha/hora en las propiedades del eje:

Cómo Formatear el Valor Numérico del Eje

El siguiente ejemplo de código muestra cómo cambiar el formato de los números en el eje de valores:

Cómo Establecer Límites del Eje

La clase AxisBound representa un límite mínimo o máximo de valores de eje. El límite se puede especificar como un valor numérico, de fecha y hora o un valor especial “automático”.

El siguiente ejemplo de código muestra cómo establecer los límites de un eje:

Cómo Establecer la Unidad de Intervalo Entre Etiquetas

El siguiente ejemplo de código muestra cómo establecer la unidad de intervalo entre etiquetas en un eje:

Cómo Ocultar el Eje del Gráfico

Si desea mostrar u ocultar el eje del gráfico, simplemente puede lograrlo estableciendo el valor de la propiedad ChartAxis.Hidden.

El siguiente ejemplo de código muestra cómo ocultar el eje Y del gráfico:

Cómo Alinear la Etiqueta del Gráfico

Si desea establecer una alineación de texto para etiquetas multilínea, simplemente puede lograrlo estableciendo el valor de la propiedad setTickLabelAlignment().

El siguiente ejemplo de código muestra cómo marcar la alineación de etiquetas:

Cómo Configurar el Formato de Relleno y Trazo

El formato de relleno y trazo se puede configurar para series de gráficos, puntos de datos y marcadores. Para hacer esto, debe usar las propiedades del tipo ChartFormat en las clases ChartSeries, ChartDataPoint y ChartMarker, así como alias para algunas propiedades, como ForeColor, BackColor, Visible y Transparencia en la clase Stroke.

El siguiente ejemplo de código muestra cómo establecer el color de la serie:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Column, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };

// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });

// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;

doc.Save("ColumnColor.docx");

El siguiente ejemplo de código muestra cómo establecer el color y el grosor de la línea:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 }, new double[] { 3, 1, 2 });

// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;

doc.Save("LineColorAndWeight.docx");