We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to set gap depth for Excel 3D charts in C#, VB.NET?

Platform: WinForms |
Control: XlsIO

This article explains how to set gap depth for 3D charts using WinForms XlsIO.

 

What is gap depth?

 

Gap Depth is the distance between the data series in a 3-D chart, as a percentage of the marker width. The value of this property must be between 0 and 500. This gap depth variation can be achieved in XlsIO, using GapDepth property.

Code snippet to set gap depth

//Set gapdepth
chart.GapDepth = 200;

 

Download Complete Sample

 

Download input file with data

 

To know more about creating charts with various settings using XlsIO, please refer the documentation.

 

The following C#/ VB.NET complete code snippet shows how to set gap depth for 3D charts 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.Column_3D;
 
                //Assign data
                chart.DataRange = worksheet["A1:D6"];
                chart.IsSeriesInRows = false;
 
                //Apply chart elements
                //Set chart title
                chart.ChartTitle = "3D Column Chart";
 
                //Set rotation, elevation and perspective
                chart.Rotation = 15;
                chart.Elevation = 10;
                chart.Perspective = 0;
                
                //Set gapdepth
                chart.GapDepth = 200;
                   
                //Set data labels
                IChartSerie serie1 = chart.Series[0];
                IChartSerie serie2 = chart.Series[1];
                IChartSerie serie3 = chart.Series[2];
 
                serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
                serie2.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
                serie3.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
 
                //Positioning the chart in the worksheet
                chart.TopRow = 8;
                chart.LeftColumn = 1;
                chart.BottomRow = 23;
                chart.RightColumn = 8;
 
                //Saving the workbook
                Stream stream = File.Create("Output.xlsx");
                workbook.SaveAs(stream);
            }
        }
    }
}

VB

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.Column_3D
 
                'Assign data
                chart.DataRange = worksheet("A1:D6")
                chart.IsSeriesInRows = False
 
                'Apply chart elements
                'Set chart title
                chart.ChartTitle = "3D Column Chart"
 
                'Set rotation, elevation and perspective
                chart.Rotation = 15
                chart.Elevation = 10
                chart.Perspective = 0
 
                'Set gapdepth
                chart.GapDepth = 200
 
                'Set data labels
                Dim serie1 As IChartSerie = chart.Series(0)
                Dim serie2 As IChartSerie = chart.Series(1)
                Dim serie3 As IChartSerie = chart.Series(2)
 
                serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
                serie2.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
                serie3.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
 
                'Positioning the chart in the worksheet
                chart.TopRow = 8
                chart.LeftColumn = 1
                chart.BottomRow = 23
                chart.RightColumn = 8
 
                'Saving the workbook
                Dim stream As Stream = File.Create("Output.xlsx")
                workbook.SaveAs(stream)
            End Using
        End Sub
    End Class
End Namespace

 

Gap depth set to chart series with value 200

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile