原創|其它|編輯:郝浩|2012-10-18 16:07:22.000|閱讀 470 次
概述:本文主要介紹Nevron Chart for .NET的Axis scale breaks特性,并提供特性實現的源碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Axis scale breaks最常用在以下情況中:
Nevron 圖表完全完全支持在 2D 和 3D 模式 (水平、 垂直、 深度,扭轉,日期時間等) 的所有類型的axes,并允許您完全控制scale break的位置和樣式。
下面將介紹如何使用代碼改變Axis scale breaks:
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.
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:nevron