 |
Axis scale breaks are most commonly used in the following
cases:
- When you have to display data that varies greatly in magnitude.
- When you need to reduce the effect that several large values (peaks in data) have on the scaling of the rest of data.
- When you want to skip data that is of no interest in order to focus on the rest of the data.
Nevron Chart fully supports scale breaks on all types of
axes (horizontal, vertical, depth, reversed, date time etc.)
in both 2D and 3D mode and allows you to have complete
control over the scale break position and style.

As shown on the above picture the noise levels raise
dramatically between 10 to 12 o’clock creating a peak in
data. The effect is to visually marginalize the other
smaller peaks in the sound level, thus reducing the
ability of the user of the chart to analyze these smaller
peaks. In cases like this one you may consider to
introduce a scale break on the y axis in order to increase
the chart readability. The following chart shows how an
automatic scale break will effectively increase the visual
space available for the data:

This is achieved through the following code:
[C#]
NAxis primaryY = (NAxis)chart.Axis(StandardAxis.PrimaryY);
NStandardScaleConfigurator noiseScale = primaryY.ScaleConfigurator as NStandardScaleConfigurator;
NAutoScaleBreak autoScaleBreak = new NAutoScaleBreak();
noiseScale.ScaleBreaks.Add(autoScaleBreak);
[VB.NET]
Dim primaryY As NAxis = chart.Axis(StandardAxis.PrimaryY)
Dim noiseScale As NStandardScaleConfigurator = CType(primaryY.ScaleConfigurator, NStandardScaleConfigurator)
Dim autoScaleBreak As NAutoScaleBreak = New NAutoScaleBreak()
noiseScale.ScaleBreaks.Add(autoScaleBreak)
Notice that now the smaller peaks in data are now more
visible, but the chart still does not look quite good.
In particular the scale break filling and style do not
match the visual appearance of the chart, therefore it is
a nice idea to introduce wave scale break style with some
other filling:

This is achieved by adding the following code:
[C#]
NWaveScaleBreakStyle waveScaleBreakStyle = new NWaveScaleBreakStyle();
waveScaleBreakStyle.FillStyle = new NColorFillStyle(Color.FromArgb(20, 1, 137, 146));
waveScaleBreakStyle.StrokeStyle.Color = Color.FromArgb(1, 137, 146);
waveScaleBreakStyle.Pattern = ScaleBreakPattern.FreeHand;
waveScaleBreakStyle.Length = new NLength(5);
autoScaleBreak.Style = waveScaleBreakStyle;
[VB.NET]
Dim waveScaleBreakStyle As NWaveScaleBreakStyle = New NWaveScaleBreakStyle()
waveScaleBreakStyle.FillStyle = New NColorFillStyle(Color.FromArgb(20, 1, 137, 146))
waveScaleBreakStyle.StrokeStyle.Color = Color.FromArgb(1, 137, 146)
waveScaleBreakStyle.Pattern = ScaleBreakPattern.FreeHand
waveScaleBreakStyle.Length = New NLength(5)
autoScaleBreak.Style = waveScaleBreakStyle
Finally since the data below the scale break is more it
is probably better to place the scale break closer to
the top side of the chart. The following chart has a
scale break positioned relatively to the amount of data
contained in the [0, 25] and [70, 90] ranges. Since the
data in the lower range is more it will occupy more
space on the primary Y axis:

This is done with one line of code:
[C#]
autoScaleBreak.Position = new NContentScaleBreakPosition();
[VB.NET]
autoScaleBreak.Position = New NContentScaleBreakPosition()
Working with Nevron Chart Scale Breaks you can add custom
scale breaks on the chart primary X and Y axes in 2D or 3D charts.

 |  |