彩票走势图

详解Nevron Chart .NET图表的Axis scale breaks特性

原创|其它|编辑:郝浩|2012-10-18 16:07:22.000|阅读 443 次

概述:本文主要介绍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@pclwef.cn

文章转载自:nevron

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP