Gridlines appear on the chart walls and gauge background as lines with controllable color and pattern. There are two types of gridlines – those that are considered major and are by default synchronized with the values of the major scale ticks and those that are considered minor are by default synchronized with the scale minor ticks. Note that there are types of scales that do not support minor ticks - these include ordinal, price, hierarchic and timeline scale configurators.
The appearance of major gridlines is controlled through the MajorGridStyle property of the NScaleConfigurator base abstract class.
The appearance of minor gridlines (if supported by the scale) is controlled through the MinorGridStyle properties of the NStandardScaleConfigurator.
Both major and minor ticks appearance properties accept an instance of the NScaleGridStyle class.
By default only the major grid lines associated with the vertical axes (PrimaryY and SecondaryY) are visible. The major and minor grid lines of all other axes are not visible. The following code enables the major gridlines associated with the PrimaryX axis:
C# |
Copy Code
|
NChart chart = nChartControl1.Charts[0];
NAxis primaryX = chart.Axis(StandardAxis.PrimaryX);
primaryX.ScaleConfigurator.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
|
Visual Basic |
Copy Code
|
Dim chart As NChart = NChartControl1.Charts(0)
Dim primaryX As NAxis = chart.Axis(StandardAxis.PrimaryX)
primaryX.ScaleConfigurator.MajorGridStyle.SetShowAtWall(ChartWallType.Back, True)
|
The NScaleGridStyle class has a property called LineStyle that accepts an object of type NStrokeStyle. The following code will change the appearance of the major grid lines displayed by the PrimaryY axis:
C# |
Copy Code
|
NChart chart = nChartControl1.Charts[0];
NAxis primaryY = chart.Axis(StandardAxis.PrimaryY);
NScaleConfigurator scaleConfigurator = primaryY.ScaleConfigurator;
scaleConfigurator.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
scaleConfigurator.MajorGridStyle.LineStyle.Color = Color.Red;
scaleConfigurator.MajorGridStyle.LineStyle.Width = new NLength(2, NGraphicsUnit.Point);
|
Visual Basic |
Copy Code
|
Dim chart As NChart = NChartControl1.Charts(0)
Dim primaryY As NAxis = chart.Axis(StandardAxis.PrimaryY)
Dim scaleConfigurator As NScaleConfigurator = primaryY.ScaleConfigurator
scaleConfigurator.MajorGridStyle.SetShowAtWall(ChartWallType.Back, True)
scaleConfigurator.MajorGridStyle.LineStyle.Color = Color.Red
scaleConfigurator.MajorGridStyle.LineStyle.Width = New NLength(2)
|
Major and minor grid line appearance may be altered if the grid line falls inside a scale section. Scale sections are described in the Scale Sections topic.
NScaleGridStyle object has a property called RangeSamplerProvider provider that accepts objects that derive from the NRangeSamplerProvider object. By default the RangeSamplerProvider of the major grid style is set to NMajorTickRangeSamplerProvider. Respectively the same property for the minor grid style is set to NMinorTickRangeSamplerProvider. As the names of these two classes imply this is why by default the major grid lines are synchronized with the major ticks and the minor grid lines are synchronized with the minor ticks.
You can change this relationship at any time by altering the range sampler provider associated with the minor and major grid line styles if you want gridlines to appear at different values. Range sampler providers are discussed in a different topic because they are also used by the NScaleStripStyle style.
The following code will configure the major grid lines of the Y axis to show at each 5 logical units visible on the scale:
C# |
Copy Code
|
NChart chart = nChartControl1.Charts[0];
NAxis primaryY = chart.Axis(StandardAxis.PrimaryY);
NNumericRangeSamplerProvider rangeSamplerProvider = new NNumericRangeSamplerProvider();
rangeSamplerProvider.SamplingMode = SamplingMode.CustomStep;
rangeSamplerProvider.CustomStep = 5;
primaryY.ScaleConfigurator.MajorGridStyle.RangeSamplerProvider = rangeSamplerProvider;
|
Visual Basic |
Copy Code
|
Dim chart As NChart = NChartControl1.Charts(0)
Dim primaryY As NAxis = chart.Axis(StandardAxis.PrimaryY)
Dim rangeSamplerProvider As New NNumericRangeSamplerProvider
rangeSamplerProvider.SamplingMode = SamplingMode.CustomStep
rangeSamplerProvider.CustomStep = 5
primaryY.ScaleConfigurator.MajorGridStyle.RangeSamplerProvider = rangeSamplerProvider
|