2X faster development
The ultimate WinForms UI toolkit to boost your development speed.
This article explains how to create a histogram chart in Excel using Syncfusion Excel (XlsIO) library. What is a histogram chart?Histogram shows the frequencies within a distribution. Each column of the chart is called a bin, which can be changed further to analyze the data. Histogram Chart To create a histogram chart in Excel using XlsIO, you need to do the following steps. Steps to create histogram chart:Step 1: Initialize chartCreate a chart object by calling the worksheet.Charts.Add method and specify the chart type to ExcelChartType.Histogram enum value. C# //Create the chart IChartShape chart = worksheet.Charts.Add(); //Set chart type to Histogram chart.ChartType = ExcelChartType.Histogram;
Step 2: Assign dataSet a range of data from the worksheet to chart’s DataRange property. To plot the series values in column and categories in row, set chart’s IsSeriesInRows property to false. C# //Set region of Chart data chart.DataRange = worksheet["A1:A15"]; //Set chart series in column for assigned data region chart.IsSeriesInRows = false;
Step 3: Apply basic chart elementsAdd the basic elements like chart title, data labels and legend with the below list of properties.
C# //Apply chart elements //Set Chart Title chart.ChartTitle = "Histogram Chart"; //Set Legend chart.HasLegend = false; //Set Datalabels IChartSerie serie = chart.Series[0]; serie.DataPoints.DefaultDataPoint.DataLabels.IsValue = true; serie.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside;
Applicable properties of histogram chartBelow is the list of other properties that is applicable for a histogram chart.
Note:
To know more about creating charts with various settings using Syncfusion Excel (XlsIO) library, please refer the documentation. The following C#/ VB.NET complete code snippet shows the creation of histogram chart using XlsIO. C# using Syncfusion.XlsIO; using System.Reflection; using System.IO; namespace ChartSample { class Program { static void Main(string[] args) { using (ExcelEngine excelEngine = new ExcelEngine()) { IApplication application = excelEngine.Excel; application.DefaultVersion = ExcelVersion.Excel2016; //Open existing workbook with data entered Assembly assembly = typeof(Program).GetTypeInfo().Assembly; Stream fileStream = assembly.GetManifestResourceStream("ChartSample.InputTemplate.xlsx"); IWorkbook workbook = application.Workbooks.Open(fileStream); IWorksheet worksheet = workbook.Worksheets[0]; //Initialize chart IChartShape chart = worksheet.Charts.Add(); chart.ChartType = ExcelChartType.Histogram; //Assign data chart.DataRange = worksheet["A1:A15"]; chart.IsSeriesInRows = false; chart.PrimaryCategoryAxis.BinWidth = 5; //Apply chart elements //Set Chart Title chart.ChartTitle = "Histogram Chart"; //Set Datalabels IChartSerie serie1 = chart.Series[0]; serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = true; serie1.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside; serie1.SerieFormat.CommonSerieOptions.GapWidth = 5; //Set Legend chart.HasLegend = false; //Positioning the chart in the worksheet chart.TopRow = 8; chart.LeftColumn = 1; chart.BottomRow = 23; chart.RightColumn = 8; //Saving and closing the workbook Stream stream = File.Create("Output.xlsx"); workbook.SaveAs(stream); } } } }
VB.NET Imports Syncfusion.XlsIO Imports System.Reflection Imports System.IO Namespace ChartSample Class Program Public Shared Sub Main(ByVal args As String()) Using excelEngine As ExcelEngine = New ExcelEngine() Dim application As IApplication = excelEngine.Excel application.DefaultVersion = ExcelVersion.Excel2016 'Open existing workbook with data entered Dim assembly As Assembly = GetType(Program).GetTypeInfo.Assembly Dim fileStream As Stream = assembly.GetManifestResourceStream("ChartSample.InputTemplate.xlsx") Dim workbook As IWorkbook = application.Workbooks.Open(fileStream) Dim worksheet As IWorksheet = workbook.Worksheets(0) 'Initialize chart Dim chart As IChartShape = worksheet.Charts.Add chart.ChartType = ExcelChartType. Histogram 'Assign data chart.DataRange = worksheet("A1:A15") chart.IsSeriesInRows = False chart.PrimaryCategoryAxis.BinWidth = 5 'Apply chart elements 'Set Chart Title chart.ChartTitle = "Histogram Chart" 'Set Datalabels Dim serie1 As IChartSerie = chart.Series(0) serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = True serie1.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside serie1.SerieFormat.CommonSerieOptions.GapWidth = 5 'Set Legend chart.HasLegend = False 'Positioning the chart in the worksheet chart.TopRow = 8 chart.LeftColumn = 1 chart.BottomRow = 23 chart.RightColumn = 8 'Saving and closing the workbook Dim stream As Stream = File.Create("Output.xlsx") workbook.SaveAs(stream) End Sub End Class End Namespace
|
2X faster development
The ultimate WinForms UI toolkit to boost your development speed.
This page will automatically be redirected to the sign-in page in 10 seconds.