Los gráficos se utilizan para resumir y representar visualmente los datos dentro de las presentaciones de PowerPoint. Por lo tanto, PowerPoint ofrece una amplia gama de tipos de gráficos para visualizar los datos. Entre todos, los tipos de gráficos más utilizados incluyen gráficos circulares, gráficos de líneas, gráficos de barras, histogramas, gráficos de acciones, etc. En este artículo, aprenderá cómo crear estos gráficos en presentaciones de PowerPoint usando C#.
- API de C# para crear gráficos en PowerPoint
- Crear gráfico de columnas en PowerPoint usando C#
- Crear gráfico de dispersión en PowerPoint usando C#
- Agregar gráfico circular en PowerPoint usando C#
- Agregue un gráfico de histograma en PowerPoint usando C#
- Cree un gráfico de acciones en PowerPoint usando C#
- Obtenga una licencia de API gratuita
API de C# para crear gráficos en PowerPoint
Aspose.Slides for .NET es una biblioteca de clases de C# que le permite crear y manipular presentaciones de PowerPoint desde aplicaciones .NET. Además, la API le permite crear y agregar gráficos a las presentaciones sin problemas. Aspose.Slides for .NET se puede descargar como DLL o instalar a través de NuGet.
PM> Install-Package Aspose.Slides
Crear gráfico de columnas en PowerPoint PPT usando C#
En esta sección, aprenderá cómo crear un gráfico de columnas y agregar categorías y series para completar ese gráfico. Los siguientes son los pasos para realizar esta operación.
- Primero, cree una instancia de la clase Presentation.
- Obtenga la referencia de la diapositiva en el objeto ISlide.
- Agregue un gráfico ClusteredColumn con datos predeterminados y obtenga su referencia en el objeto IChart.
- Establezca el título del gráfico usando el método IChart.ChartTitle.AddTextFrameForOverriding(String) y establezca sus propiedades.
- Acceda al libro de datos del gráfico en el objeto IChartDataWorkbook.
- Borre todas las series y categorías predeterminadas de los datos del gráfico usando los métodos IChart.ChartData.Series.Clear() y IChart.ChartData.Categories.Clear() respectivamente.
- Añadir nuevas series y categorías.
- Acceda a cada serie de gráficos en el objeto IChartSeries y agréguele puntos de datos.
- Agregue color de relleno para series de gráficos y establezca etiquetas.
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
Como demostración, el siguiente ejemplo de código muestra cómo crear un gráfico de columnas en una presentación de PowerPoint usando C#.
// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
// Acceder a la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar gráfico con datos predeterminados
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Tabla de configuración Título
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Establecer la primera serie para Mostrar valores
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Configuración del índice de la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtener la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Eliminar series y categorías generadas por defecto
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Agregando nueva serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Agregar nuevas categorías
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Tomar la primera serie de gráficos
IChartSeries series = chart.ChartData.Series[0];
// Ahora llenando datos de series
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Configuración del color de relleno para la serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;
// Tome la segunda serie de gráficos
series = chart.ChartData.Series[1];
// Ahora llenando datos de series
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Configuración del color de relleno para la serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;
// La primera etiqueta mostrará el nombre de la categoría
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Mostrar valor para la tercera etiqueta
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Guardar presentación con gráfico
pres.Save("column-chart.pptx", SaveFormat.Pptx);
La siguiente es la captura de pantalla del gráfico de columnas resultante.
Crear gráfico de dispersión en PowerPoint PPT usando C#
Los siguientes son los pasos para crear un gráfico de dispersión en la presentación de PowerPoint usando C#.
- Crea una nueva presentación usando la clase Presentation.
- Obtenga la referencia de las diapositivas en el objeto ISlide.
- Agregue un tipo de gráfico ScatterWithSmoothLines con datos predeterminados y obtenga su referencia en el objeto IChart.
- Acceda al libro de datos del gráfico en el objeto IChartDataWorkbook y borre la serie predeterminada.
- Agregue nuevas series a los datos del gráfico.
- Acceda a cada serie en el objeto IChartSeries y agregue puntos de datos a la serie.
- Establezca el marcador para la serie usando la propiedad IChartSeries.Marker.
- Guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo crear un gráfico de dispersión en presentaciones de PowerPoint usando C#.
// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
// Acceder a la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar gráfico con datos predeterminados
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Obtener el índice de la hoja de cálculo de datos del gráfico predeterminado
int defaultWorksheetIndex = 0;
// Obtener la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Eliminar serie de demostración
chart.ChartData.Series.Clear();
// Agregar nueva serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);
// Tomar la primera serie de gráficos
IChartSeries series = chart.ChartData.Series[0];
// Agregue un nuevo punto (1: 3) allí.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));
// Agregar nuevo punto (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));
// Editar el tipo de serie
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;
// Cambiar el marcador de serie del gráfico
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;
// Tome la segunda serie de gráficos
series = chart.ChartData.Series[1];
// Agregue un nuevo punto (5:2) allí.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));
// Añadir nuevo punto (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));
// Añadir nuevo punto (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));
// Añadir nuevo punto (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));
// Cambiar el marcador de serie del gráfico
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;
// Guardar presentación con gráfico
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);
La siguiente captura de pantalla muestra el gráfico de dispersión resultante.
Crear gráfico circular en PowerPoint PPT usando C#
Los siguientes son los pasos para crear un gráfico circular en una presentación de PowerPoint usando C#.
- Cree una nueva presentación utilizando la clase Presentation.
- Obtenga la referencia de las diapositivas en el objeto ISlide.
- Agregue un tipo de gráfico circular con datos predeterminados y obtenga su referencia en el objeto IChart.
- Establezca el título del gráfico usando el método IChart.ChartTitle.AddTextFrameForOverriding(String) y establezca sus propiedades.
- Establecer la visibilidad de los valores.
- Borre las series y categorías predeterminadas usando los métodos IChart.ChartData.Series.Clear() y IChart.ChartData.Categories.Clear() respectivamente.
- Acceda al libro de datos del gráfico en el objeto IChartDataWorkbook.
- Agregue nuevas categorías a los datos del gráfico en la colección IChart.ChartData.Categories.
- Agregue nuevas series a los datos del gráfico en la colección IChart.ChartData.Series.
- Obtenga cada serie en el objeto IChartSeries y agregue puntos de datos a la serie.
- Acceda a cada punto de datos en el objeto IChartDataPoint y configure su formato.
- Acceda a las etiquetas de datos en los puntos de datos usando el objeto IDataLabel y establezca su formato.
- Establecer líneas guía y ángulos de rotación.
- Guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo crear un gráfico circular en una presentación de PowerPoint usando C#.
// Instanciar la clase de presentación que representa el archivo PPTX
Presentation presentation = new Presentation();
// Acceder a la primera diapositiva
ISlide slides = presentation.Slides[0];
// Agregar gráfico con datos predeterminados
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);
// Tabla de configuración Título
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Establecer la primera serie para Mostrar valores
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Configuración del índice de la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtener la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Eliminar series y categorías generadas por defecto
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Agregar nuevas categorías
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));
// Agregando nueva serie
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);
// Ahora llenando datos de series
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// No funciona en la nueva versión
// Agregar nuevos puntos y configurar el color del sector
// serie.EsColorVariado = verdadero;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;
IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Configuración del borde del sector
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick;
//point.Format.Line.DashStyle = LineDashStyle.DashDot;
IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;
// Configuración del borde del sector
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot;
IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;
// Configuración del borde del sector
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot;
// Cree etiquetas personalizadas para cada una de las categorías para nuevas series
IDataLabel lbl1 = series.DataPoints[0].Label;
// lbl.ShowCategoryName = verdadero;
lbl1.DataLabelFormat.ShowValue = true;
IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;
IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;
// Mostrar líneas directrices para el gráfico
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = verdadero;
// Configuración del ángulo de rotación para sectores de gráficos circulares
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;
// Guardar presentación con gráfico
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);
La siguiente es la captura de pantalla del gráfico circular generado.
Agregar gráfico de histograma en PowerPoint PPTX usando C#
Los siguientes son los pasos para crear un gráfico de histograma en presentaciones de PowerPoint usando Aspose.Slides for .NET.
- Cree una instancia de la clase Presentation.
- Obtener la referencia de una diapositiva en el objeto ISlide por su índice.
- Agregue un gráfico de histograma con datos predeterminados.
- Borre las series y categorías predeterminadas.
- Acceda al libro de datos del gráfico en el objeto IChartDataWorkbook.
- Agregue una nueva serie y obtenga su referencia en el objeto IChartSeries.
- Agregar puntos de datos a la serie.
- Establezca el tipo de agregación del eje del gráfico.
- Guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo crear un gráfico de histograma con C#.
// Cargar o crear presentación
using (Presentation pres = new Presentation())
{
// Agregar gráfico de histograma
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
chart.ChartData.Categories.Clear();
chart.ChartData.Series.Clear();
// Acceder al Workbook de datos de gráfico
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Borrar libro
wb.Clear(0);
// Agregar serie de gráficos
IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));
chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;
// Guardar presentación
pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}
La siguiente es la captura de pantalla del gráfico de histograma creado.
Cree un gráfico de acciones en PowerPoint usando C#
El gráfico de cotizaciones también es uno de los tipos de gráficos más utilizados en las presentaciones de PowerPoint. Los siguientes son los pasos para crear un gráfico de cotizaciones.
- Cree una nueva presentación de PowerPoint utilizando la clase Presentation.
- Obtenga la referencia de la diapositiva en un objeto ISlide usando el índice de la diapositiva.
- Agregue el gráfico OpenHighLowClose a la diapositiva y obtenga su referencia en el objeto IChart.
- Borre las series y categorías predeterminadas.
- Acceda a los datos del gráfico en el objeto IChartDataWorkbook.
- Agregue nuevas series y categorías al gráfico.
- Acceda a cada serie de gráficos y agregue puntos de datos.
- Especifique el formato HiLowLines.
- Guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo agregar un gráfico de cotizaciones a una presentación de PowerPoint mediante C#.
// Cargar o crear presentación
using (Presentation pres = new Presentation())
{
// Agregar gráfico
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Borrar categorías y series
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Acceder al Workbook de datos de gráfico
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Añadir categorías
chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));
// Agregar serie
chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);
// Agregar puntos de datos
IChartSeries series = chart.ChartData.Series[0];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));
series = chart.ChartData.Series[1];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));
series = chart.ChartData.Series[2];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));
series = chart.ChartData.Series[3];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));
// Establecer si el gráfico tiene barras arriba/abajo
chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;
// Especificar formato de línea alto/bajo
chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;
foreach (IChartSeries ser in chart.ChartData.Series)
{
ser.Format.Line.FillFormat.FillType = FillType.NoFill;
}
// Guardar presentación
pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}
La siguiente es la captura de pantalla del gráfico de acciones creado.
Más tipos de gráficos
Además de los gráficos mencionados anteriormente, también hay otros tipos de gráficos que puede agregar a las presentaciones de PowerPoint. Para obtener más información sobre los tipos de gráficos admitidos, puede visitar este artículo de documentación.
Obtenga una licencia de API gratuita
Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.
Conclusión
En este artículo, ha aprendido a crear gráficos en presentaciones de PowerPoint usando C#. Además, la guía paso a paso y los ejemplos de código muestran cómo agregar gráficos de columnas, gráficos de dispersión, gráficos circulares, histogramas y gráficos de cotizaciones. Puede explorar más sobre Aspose.Slides for .NET usando documentación.