Articles in this section
Category / Section

How to set shadows for plot area or axis in chart using XlsIO?

3 mins read

This article explains how to set shadow to plot area in chart using XlsIO.

 

What is Plot Area?

 

The plot area in a chart or graph refers to the area of the chart that graphically displays the data being charted. The plot area of a 2-D chart contains the data markers, gridlines, data labels, trendlines, and optional chart items placed in the chart area. Whereas the plot area of a 3-D chart contains all the above items along with walls, floor, axes, axis titles, and tick-mark labels in the chart.

 

C:\Users\kondurukeerthi.kondu\AppData\Local\Microsoft\Windows\INetCache\Content.Word\Set_Shadow.png

Shadow for plot area set using XlsIO

 

Code snippet to set shadow to plot area in chart using XlsIO

 

//Set shadow to plot area
chart.PlotArea.Shadow.ShadowColor = System.Drawing.Color.DarkOrange;
chart.PlotArea.Shadow.Size = 100;
chart.PlotArea.Shadow.Angle = 45;
chart.PlotArea.Shadow.Distance = 10;

 

Steps to add shadow to plot area in chart

 

  1. Initialize chart

 

Create a chart object by calling the worksheet.Charts.Add method and specify the chart type to ExcelChartType.Line enum value.

 

//Create the chart
IChartShape chart = worksheet.Charts.Add();
//Set chart type to Line
chart.ChartType = ExcelChartType.Line;

 

  1. Assign data

 

Set 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.

 

//Set region of Chart data
chart.DataRange = worksheet["A1:D6"];
//Set chart series in column for assigned data region
chart.IsSeriesInRows = false;

 

  1. Apply chart elements

 

Add basic chart elements like chart title, legend and datalabels.

 

  • ChartTitle of chart object.
  • Set TRUE to chart’s HasLegend property, to show the legend.
  • Set TRUE to chart’s HasLegend property, to show the legend.

 

//Set Chart Title
chart.ChartTitle = "Line Chart";
//Set Legend
chart.HasLegend = true;
chart.Legend.Position = ExcelLegendPosition.Bottom;
//Set datalabels
IChartSerie serie1 = chart.Series[0];              serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;

 

  1. Set shadow to plot area

 

Set shadow to plot area in chart using properties in IShadow.

 

//Set shadow to plot area
chart.PlotArea.Shadow.ShadowColor = System.Drawing.Color.DarkOrange;
chart.PlotArea.Shadow.Size = 100;
chart.PlotArea.Shadow.Angle = 45;
chart.PlotArea.Shadow.Distance = 10;

 

Applicable properties for a shadow of plot area in chart

 

Basic properties applicable for a shadow of plot area in a chart

 

1.   Angle

2.   Blur

3.   Distance

4.   HasCustomShadowStyle

5.   ShadowColor

6.   ShadowInnerPresets

7.   ShadowOuterPresets

8.   ShadowPrespectivePresets

9.   Size

10. Transperency

 

Note:

We can set shadow to plot area in chart using CustomShadowStyles method as well.

 

Download Complete Sample

 

Download input file with data

 

The following C#/VB complete code snippet explains how to set shadow to plot area in 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.Line;
 
                //Assign data
                chart.DataRange = worksheet["A1:D6"];
                chart.IsSeriesInRows = false;
 
                //Apply chart elements
                //Set chart title
                chart.ChartTitle = "Line Chart";
 
                //Set legend
                chart.HasLegend = true;
                chart.Legend.Position = ExcelLegendPosition.Bottom;
 
                //Set datalabels
                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;
 
                //Set shadow to plot area
                chart.PlotArea.Shadow.ShadowColor = System.Drawing.Color.DarkOrange;
                chart.PlotArea.Shadow.Size = 100;
                chart.PlotArea.Shadow.Angle = 45;
                chart.PlotArea.Shadow.Distance = 10;
              
                //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
 
        Private Shared Sub Main(ByVal args() As String)
            Dim 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.Line
 
            'Assign data
            chart.DataRange = worksheet("A1:D6")
            chart.IsSeriesInRows = False
 
            'Apply chart elements
            'Set chart title
            chart.ChartTitle = "Line Chart"
 
            'Set legend
            chart.HasLegend = True
            chart.Legend.Position = ExcelLegendPosition.Bottom
 
            'Set datalabels
            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
 
            'Set shadow to plot area
            chart.PlotArea.Shadow.ShadowColor = System.Drawing.Color.DarkOrange
            chart.PlotArea.Shadow.Size = 100
            chart.PlotArea.Shadow.Angle = 45
            chart.PlotArea.Shadow.Distance = 10
 
            '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 Sub
    End Class
End Namespace

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied