IronXL How-Tos Create and Edit Charts How to Create and Edit Excel Charts in C# Chaknith Bin Updated:June 22, 2025 In Excel, a chart is a graphical representation of data. It is a visual tool used to display and analyze data in a more understandable and meaningful way. Excel provides a variety of chart types, such as bar charts, line charts, pie charts, and more, each of which is suited for different types of data and analysis. IronXL supports column, scatter, line, pie, bar, and area charts with configurable series names, legend positions, chart titles, and chart positions. How to Create and Edit Excel Charts in C# Download the C# library to create and edit charts Prepare the data for creating the chart Use the CreateChart method to set the chart type and position Use the AddSeries method to add data series Plot the chart using the Plot method Get started with IronXL Start using IronXL in your project today with a free trial. First Step: Start for Free Create Charts Example IronXL supports column, scatter, line, pie, bar, and area charts. To create a chart, we have to specify a few things separately. Start by using the CreateChart method to specify the type of chart and its location in the worksheet. Add the series with the AddSeries method. This method also accepts a single column of data since that is sufficient for some chart types. The first parameter represents values for the horizontal axis. The second parameter represents values for the vertical axis. Optionally, specify the series name, chart name, and legend position. Invoke the Plot method to plot the chart. The method will plot the chart using all the data that was added. Multiple calls to this method lead to plotting multiple charts instead of modifying the existing chart. Let's create some charts from the data in the chart.xlsx Excel file. A preview of the data is displayed below: Column Chart :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; // Set the chart type and position IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10); string xAxis = "A2:A7"; // Add the series IChartSeries series = chart.AddSeries(xAxis, "B2:B7"); series.Title = workSheet["B1"].StringValue; // Add the series series = chart.AddSeries(xAxis, "C2:C7"); series.Title = workSheet["C1"].StringValue; // Add the series series = chart.AddSeries(xAxis, "D2:D7"); series.Title = workSheet["D1"].StringValue; // Set the chart title chart.SetTitle("Column Chart"); // Set the legend position chart.SetLegendPosition(LegendPosition.Bottom); // Plot the chart 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 ' Set the chart type and position Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10) Private xAxis As String = "A2:A7" ' Add the series Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7") series.Title = workSheet("B1").StringValue ' Add the series series = chart.AddSeries(xAxis, "C2:C7") series.Title = workSheet("C1").StringValue ' Add the series series = chart.AddSeries(xAxis, "D2:D7") series.Title = workSheet("D1").StringValue ' Set the chart title chart.SetTitle("Column Chart") ' Set the legend position chart.SetLegendPosition(LegendPosition.Bottom) ' Plot the chart chart.Plot() workBook.SaveAs("columnChart.xlsx") $vbLabelText $csharpLabel Line Chart Since a line chart can represent as much information as a column chart, switching between the two is very simple. You only need to change the chart type. :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; // Set the chart type and position IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10); string xAxis = "A2:A7"; // Add the series IChartSeries series = chart.AddSeries(xAxis, "B2:B7"); series.Title = workSheet["B1"].StringValue; // Add the series series = chart.AddSeries(xAxis, "C2:C7"); series.Title = workSheet["C1"].StringValue; // Add the series series = chart.AddSeries(xAxis, "D2:D7"); series.Title = workSheet["D1"].StringValue; // Set the chart title chart.SetTitle("Line Chart"); // Set the legend position chart.SetLegendPosition(LegendPosition.Bottom); // Plot the chart 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 ' Set the chart type and position Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10) Private xAxis As String = "A2:A7" ' Add the series Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7") series.Title = workSheet("B1").StringValue ' Add the series series = chart.AddSeries(xAxis, "C2:C7") series.Title = workSheet("C1").StringValue ' Add the series series = chart.AddSeries(xAxis, "D2:D7") series.Title = workSheet("D1").StringValue ' Set the chart title chart.SetTitle("Line Chart") ' Set the legend position chart.SetLegendPosition(LegendPosition.Bottom) ' Plot the chart chart.Plot() workBook.SaveAs("lineChart.xlsx") $vbLabelText $csharpLabel Pie Chart For a pie chart, only one column of data is needed. :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; // Set the chart type and position IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10); string xAxis = "A2:A7"; // Add the series IChartSeries series = chart.AddSeries(xAxis, "B2:B7"); series.Title = workSheet["B1"].StringValue; // Set the chart title chart.SetTitle("Pie Chart"); // Set the legend position chart.SetLegendPosition(LegendPosition.Bottom); // Plot the chart 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 ' Set the chart type and position Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10) Private xAxis As String = "A2:A7" ' Add the series Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7") series.Title = workSheet("B1").StringValue ' Set the chart title chart.SetTitle("Pie Chart") ' Set the legend position chart.SetLegendPosition(LegendPosition.Bottom) ' Plot the chart chart.Plot() workBook.SaveAs("pieChart.xlsx") $vbLabelText $csharpLabel Edit Chart Example There are a few things you can edit in an existing chart. You can edit the legend position and chart title. To edit the chart, you must first retrieve the chart by accessing the Charts property and select the targeted chart for editing. From there, access the properties of the chart to make your edits. :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; // Retrieve the chart IChart chart = workSheet.Charts[0]; // Edit the legend position chart.SetLegendPosition(LegendPosition.Top); // Edit the chart title 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 ' Retrieve the chart Private chart As IChart = workSheet.Charts(0) ' Edit the legend position chart.SetLegendPosition(LegendPosition.Top) ' Edit the chart title chart.SetTitle("Edited Chart") workBook.SaveAs("editedChart.xlsx") $vbLabelText $csharpLabel Before After Remove Chart Example To remove an existing chart from a spreadsheet, first retrieve the chart from the Charts property of the worksheet object. You will receive a list of charts from the Charts property. Pass the targeted chart object to the RemoveChart method to remove it. :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; // Retrieve the chart List<IChart> chart = workSheet.Charts; // Remove the chart 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 ' Retrieve the chart Private chart As List(Of IChart) = workSheet.Charts ' Remove the chart workSheet.RemoveChart(chart(0)) workBook.SaveAs("removedChart.xlsx") $vbLabelText $csharpLabel Frequently Asked Questions What types of charts can be created using a C# library? IronXL supports creating column, scatter, line, pie, bar, and area charts. How do I start creating charts in C#? First, download the IronXL library from NuGet. Then use the CreateChart method to specify the type and location of the chart in the worksheet. What method is used to add data series to a chart? The AddSeries method is used to add data series to a chart. It accepts parameters for both the horizontal and vertical axis data. How can I plot a chart after adding data? Use the Plot method to plot the chart after adding the necessary data. This method uses all the data that was added to produce the chart. How can you switch between a column chart and a line chart? Switching between a column chart and a line chart is simple; you only need to change the chart type parameter when creating the chart. Can you edit existing charts? Yes, you can edit existing charts by accessing the Charts property of the worksheet, selecting the targeted chart, and modifying properties like the chart title and legend position. What is the process to remove a chart from a worksheet? To remove a chart, retrieve it from the Charts property of the worksheet object, then pass the targeted chart object to the RemoveChart method. What should be done after modifying or creating charts to save changes? After creating or modifying charts, save the workbook using the SaveAs method to ensure all changes are preserved. Chaknith Bin Chat with engineering team now Software Engineer Chaknith is the Sherlock Holmes of developers. It first occurred to him he might have a future in software engineering, when he was doing code challenges for fun. His focus is on IronXL and IronBarcode, but he takes pride in helping customers with every product. Chaknith leverages his knowledge from talking directly with customers, to help further improve the products themselves. His anecdotal feedback goes beyond Jira tickets and supports product development, documentation and marketing, to improve customer’s overall experience.When he isn’t in the office, he can be found learning about machine learning, coding and hiking. Ready to Get Started? Free NuGet Download Total downloads: 1,487,525 View Licenses