Cómo crear y editar gráficos de Excel en C#
En Excel, un gráfico es una representación gráfica de datos. Es una herramienta visual utilizada para mostrar y analizar datos de forma más comprensible y significativa. Excel proporciona una gran variedad de tipos de gráficos, como gráficos de barras, de líneas, circulares, etc., cada uno de los cuales es adecuado para distintos tipos de datos y análisis.
IronXL admite gráficos de columnas, de dispersión, de líneas, circulares, de barras y de áreas con nombres de series, posiciones de leyendas, títulos de gráficos y posiciones de gráficos configurables.
Cómo crear y editar gráficos de Excel en C#
- Descargar la biblioteca C# para crear y editar gráficos
- Preparar los datos para crear el gráfico
- Utiliza el
Crear gráfico
método para establecer el tipo y la posición del gráfico - Utiliza el
AñadirSerie
para añadir series de datos - Trace el gráfico utilizando la función
Parcela
método
Instalar con NuGet
Install-Package IronXL.Excel
Crear gráficos Ejemplo
IronXL admite gráficos de columnas, de dispersión, de líneas, circulares, de barras y de áreas. Para crear un gráfico tenemos que especificar algunas cosas por separado.
- Comience utilizando el método
CreateChart
para especificar el tipo de gráfico y la ubicación en la hoja de cálculo. - Añade la serie con el método
AddSeries
. Este método también acepta una sola columna de datos, ya que es suficiente para algunos tipos de gráficos. El primer parámetro representa el valor del eje horizontal. El segundo parámetro representa el valor para el eje vertical. - Opcionalmente, especifique el nombre de la serie, el nombre del gráfico y la posición de la leyenda.
Invoca el método
Plot
para trazar el gráfico. El método trazará el gráfico utilizando todos los datos añadidos. Si se llama varias veces a este método, se trazan varios gráficos en lugar de modificar el gráfico existente.Vamos a crear algunos gráficos a partir de los datos de la base de datos gráfico.xlsx archivo Excel. A continuación se muestra una vista previa de los datos:
Gráfico de columnas
:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-column-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Establecer el tipo de gráfico y la posición
IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10);
string xAxis = "A2:A7";
// Añadir la serie
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;
// Añadir la serie
series = chart.AddSeries(xAxis, "C2:C7");
series.Title = workSheet["C1"].StringValue;
// Añadir la serie
series = chart.AddSeries(xAxis, "D2:D7");
series.Title = workSheet["D1"].StringValue;
// Establecer el título del gráfico
chart.SetTitle("Column Chart");
// Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom);
// Trazar el gráfico
chart.Plot();
workBook.SaveAs("columnChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Establecer el tipo de gráfico y la posición
Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10)
Private xAxis As String = "A2:A7"
' Añadir la serie
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue
' Añadir la serie
series = chart.AddSeries(xAxis, "C2:C7")
series.Title = workSheet("C1").StringValue
' Añadir la serie
series = chart.AddSeries(xAxis, "D2:D7")
series.Title = workSheet("D1").StringValue
' Establecer el título del gráfico
chart.SetTitle("Column Chart")
' Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom)
' Trazar el gráfico
chart.Plot()
workBook.SaveAs("columnChart.xlsx")
![Gráfico de columnas](/static-assets/excel/how-to/create-edit-charts/column-chart.webp)
Gráfico lineal
Dado que un gráfico de líneas puede representar tanta información como un gráfico de columnas, pasar de uno a otro es muy sencillo. Sólo tiene que cambiar el tipo de gráfico.
:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-line-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Establecer el tipo de gráfico y la posición
IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10);
string xAxis = "A2:A7";
// Añadir la serie
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;
// Añadir la serie
series = chart.AddSeries(xAxis, "C2:C7");
series.Title = workSheet["C1"].StringValue;
// Añadir la serie
series = chart.AddSeries(xAxis, "D2:D7");
series.Title = workSheet["D1"].StringValue;
// Establecer el título del gráfico
chart.SetTitle("Line Chart");
// Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom);
// Trazar el gráfico
chart.Plot();
workBook.SaveAs("lineChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Establecer el tipo de gráfico y la posición
Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10)
Private xAxis As String = "A2:A7"
' Añadir la serie
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue
' Añadir la serie
series = chart.AddSeries(xAxis, "C2:C7")
series.Title = workSheet("C1").StringValue
' Añadir la serie
series = chart.AddSeries(xAxis, "D2:D7")
series.Title = workSheet("D1").StringValue
' Establecer el título del gráfico
chart.SetTitle("Line Chart")
' Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom)
' Trazar el gráfico
chart.Plot()
workBook.SaveAs("lineChart.xlsx")
![Gráfico lineal](/static-assets/excel/how-to/create-edit-charts/line-chart.webp)
Gráfico circular
Para un gráfico circular, sólo se necesita una columna de datos.
:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-pie-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Establecer el tipo de gráfico y la posición
IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10);
string xAxis = "A2:A7";
// Añadir la serie
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;
// Establecer el título del gráfico
chart.SetTitle("Pie Chart");
// Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom);
// Trazar el gráfico
chart.Plot();
workBook.SaveAs("pieChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Establecer el tipo de gráfico y la posición
Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10)
Private xAxis As String = "A2:A7"
' Añadir la serie
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue
' Establecer el título del gráfico
chart.SetTitle("Pie Chart")
' Fijar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Bottom)
' Trazar el gráfico
chart.Plot()
workBook.SaveAs("pieChart.xlsx")
![Gráfico circular](/static-assets/excel/how-to/create-edit-charts/pie-chart.webp)
Editar gráfico Ejemplo
Hay algunas cosas que puede editar en el gráfico existente. Puede editar la posición de la leyenda y el título del gráfico. Para editar el gráfico, primero debe recuperarlo accediendo a la propiedad Gráficos y seleccionar el gráfico que desea editar. Desde ahí, accede a las propiedades del gráfico para realizar tus ediciones.
:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-edit-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Recuperar el gráfico
IChart chart = workSheet.Charts[0];
// Editar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Top);
// Editar el título del gráfico
chart.SetTitle("Edited Chart");
workBook.SaveAs("editedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Recuperar el gráfico
Private chart As IChart = workSheet.Charts(0)
' Editar la posición de la leyenda
chart.SetLegendPosition(LegendPosition.Top)
' Editar el título del gráfico
chart.SetTitle("Edited Chart")
workBook.SaveAs("editedChart.xlsx")
![Antes de](/static-assets/excel/how-to/create-edit-charts/before.webp)
Antes de
![En](/static-assets/excel/how-to/create-edit-charts/after.webp)
En
Eliminar ejemplo de gráfico
Para eliminar un gráfico existente de una hoja de cálculo, primero recupere el gráfico de la propiedad Charts del objeto hoja de cálculo. Recibirá una lista de gráficos de la propiedad Gráficos. Pase el objeto gráfico seleccionado al método RemoveChart
para eliminarlo.
:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-remove-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
using System.Collections.Generic;
WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Recuperar el gráfico
List<IChart> chart = workSheet.Charts;
// Eliminar el gráfico
workSheet.RemoveChart(chart[0]);
workBook.SaveAs("removedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Imports System.Collections.Generic
Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Recuperar el gráfico
Private chart As List(Of IChart) = workSheet.Charts
' Eliminar el gráfico
workSheet.RemoveChart(chart(0))
workBook.SaveAs("removedChart.xlsx")