Hi, I have been working on a chart, which I can now get all the data and put it all together.
However, This data is supposed to show the columns overlapped -- again something I can do.
The issue comes in when I try to make one of the column wider than the other.
In Excel, this is accomplished by setting one of the data series to a secondary axis.
For this, the primary and secondary will be based on the same dataset.
The data set is
| Fiscal Year | Data1 | Data2 |
| 2015-16 | 0.458232 | 0.347062 |
| 2016-17 | 0.512563 | 0.351189 |
| 2017-18 | 0.543609 | 0.348293 |
| 2018-19 | 0.291027 | 0.148673 |
| 2019-20 | 0.382872 | 0.236021 |
Here is the code:
chart.ChartType = OfficeChartType.Column_Clustered;
chart.ChartTitle = "";
chart.HasLegend = false;
//Set up the Primary Category Axis
chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 6, 1];
chart.PrimaryCategoryAxis.Border.LineColor = Syncfusion.Drawing.Color.FromArgb(217, 217, 217);
chart.PrimaryValueAxis.NumberFormat = "0%";
chart.PrimaryValueAxis.MajorGridLines.LineProperties.LineColor = Syncfusion.Drawing.Color.FromArgb(217, 217, 217);
chart.PrimaryValueAxis.Border.LineColor = Syncfusion.Drawing.Color.FromArgb(255, 255, 255);
chart.PrimaryValueAxis.MaximumValue = maxAxisValue;
//Set up the Secondary Cateogy Axis
chart.SecondaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 6, 1];
chart.SecondaryCategoryAxis.Visible = false;
chart.SecondaryValueAxis.NumberFormat = "0%";
chart.SecondaryValueAxis.MaximumValue = maxAxisValue;
//Set up the Chart Series Data
IOfficeChartSerie seriesnData1Rates = chart.Series.Add("Data1");
seriesnData1Rates.Values = chart.ChartData[2, 2, 6, 2];
seriesnData1Rates.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
seriesnData1Rates.DataPoints.DefaultDataPoint.DataLabels.Size = 9;
seriesnData1Rates.DataPoints.DefaultDataPoint.DataLabels.NumberFormat = "0%";
seriesnData1Rates.DataPoints.DefaultDataPoint.DataLabels.Bold = false;
seriesnData1Rates.SerieFormat.CommonSerieOptions.Overlap = 100;
seriesnData1Rates.SerieFormat.CommonSerieOptions.GapWidth = 350;
seriesnData1Rates.DataPoints.DefaultDataPoint.DataFormat.Fill.ForeColor = K3dpColor;
seriesnData1Rates.UsePrimaryAxis = true;
IOfficeChartSerie seriesnData1Rates = chart.Series.Add("Data2");
seriesnData2Rates.Values = chart.ChartData[2, 3, 6, 3];
seriesnData2Rates.DataPoints.DefaultDataPoint.DataLabels.IsValue = false;
//seriesnData2Rates.DataPoints[1].DataLabels.Size = 9;
//seriesnData2Rates.DataPoints[1].DataLabels.NumberFormat = "0%";
//seriesnData2Rates.DataPoints[1].DataLabels.Bold = false;
seriesnData2Rates.SerieFormat.CommonSerieOptions.Overlap = 100;
seriesnData2Rates.SerieFormat.CommonSerieOptions.GapWidth = 129;
seriesnData2Rates.DataPoints.DefaultDataPoint.DataFormat.Fill.ForeColor = nK3dpColor;
seriesnData2Rates.UsePrimaryAxis = false;
It fails when trying to set the Secondary Category Axis Category Labels.
chart.SecondaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 6, 1];Error: System.NullReferenceException: 'Object reference not set to an instance of an object.'
Any idea why this might be happening??