TeeChart for .NET图表控件教程:缩放和滚动

缩放和滚动是有用的辅助工具,可以在一个人口密集的图表中聚焦于特定的数据。

TeeChart for .NET优秀的 4.0 WinForm 图表控件,官方独家授权汉化,集功能全面、性能稳定版、优惠等优势。NET 的 TeeChart for .NET 中文承诺让您在使用和学习上没有语言障碍,最少可以节省 30% 的开发时间。

点击立即下载最新版TeeChart for .NET

缩放和滚动 

缩放和滚动是有用的辅助工具,可以在一个人口密集的图表中聚焦于特定的数据。 

如何使用鼠标进行缩放和滚动 

缩放 

要放大图表,请在您希望放大的区域的左上角按下鼠标左键,并保持鼠标键的按下,将矩形拖出到放大区域的右下角。松开鼠标键,图表将重新绘制选定的区域。
要撤销缩放,请在图表区域的任何地方按下鼠标左键,并在按下鼠标键的情况下向上和向左拖动。松开按钮,图表将重新绘制到最初定义的图表区域。

滚动 

要滚动图表,请按下鼠标右键,并保持鼠标键被按下,向您希望滚动图表的方向拖动鼠标。当你释放鼠标键时,图表将保持在新的位置上。
要撤销滚动,请在图表区域的任何地方按下鼠标左键,并在按下鼠标键的情况下向上和向左拖动。松开按钮,图表将重新绘制到最初定义的图表区域。

如何通过代码进行缩放和滚动 

缩放 
缩放在默认情况下是启用的。使用Zoom.Allow属性来禁用缩放。请参阅Zoom类,了解与Zoom相关的属性和方法的完整列表。使用ZoomRect方法来定义一个矩形区域来进行缩放。
例子 

[C#]tChart1.Zoom.ZoomRect(new Rectangle(100,100,120,120));[VB.Net]TChart1.Zoom.ZoomRect(New Rectangle(100, 100, 120, 120)) 

ZoomRect的坐标是以屏幕像素来定义的,其中0,0是图表面板的左上方。
下面的代码将放大第2和第5个X轴点之间的区域,将Y轴设置为整个图表的最大和最小点的比例。

[C#]int x = points1.CalcXPos(2);int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue);int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue);int width = points1.CalcXPos(5) - x;Rectangle r = new Rectangle(x,y,width,height);tChart1.Zoom.ZoomRect(r);[VB.Net]Dim X As Integer = Points1.CalcXPos(2)Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue)Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue)Dim Width As Integer = Points1.CalcXPos(5) - XDim R As New Rectangle(X, Y, Width, Height)TChart1.Zoom.ZoomRect(R) 

使用’Undo’来缩回。
TChart1.Zoom.Undo

动画缩放 

动画缩放提供了阶梯式的缩放。你可以将Animated设置为启用,并为缩放定义交错的步骤,而不是一步到位地从 “放大 “跳到 “缩小”。一旦动画被启用,你可以用鼠标或代码手动缩放。
例子 

[C#]int x = points1.CalcXPos(2);int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue);int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue);int width = points1.CalcXPos(5) - x;Rectangle r = new Rectangle(x,y,width,height);tChart1.Zoom.Animated = true;tChart1.Zoom.AnimatedSteps = 100;tChart1.Zoom.ZoomRect(r);[VB.Net]Dim X As Integer = Points1.CalcXPos(2)Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue)Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue)Dim Width As Integer = Points1.CalcXPos(5) - XDim R As New Rectangle(X, Y, Width, Height)TChart1.Zoom.Animated = TrueTChart1.Zoom.AnimatedSteps = 100TChart1.Zoom.ZoomRect(R) 

缩放事件 

手动或通过代码放大,将触发TChart.Zoomed事件。缩小会触发TChart.UndoneZoom事件。滚动 

默认情况下,所有方向的滚动都是启用的。 使用Scroll.Allow属性可以禁用滚动或将滚动限制在一个方向。通过代码进行滚动的最简单方法是使用轴滚动方法。

[C#]tChart1.Axes.Bottom.Scroll(3, false);[VB.Net]TChart1.Axes.Bottom.Scroll(3, False) 

该值是偏移量。False’指的是TeeChart是否允许滚动超过系列值的限制。

另一种控制滚动的方法是通过代码定义轴的最大值和最小值来滚动。

[C#]private void Form1_Load(object sender, System.EventArgs e) {        int range = Convert.ToInt32(bar1.XValues.Maximum - bar1.XValues.Minimum / 2);        bar1.FillSampleValues(20);        tChart1.Panning.Allow = ScrollModes.None;        hScrollBar1.Value = range;        hScrollBar1.Minimum = range - 50;        hScrollBar1.Maximum = range + 50;}private void hScrollBar1_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e) {        tChart1.Axes.Bottom.Automatic = false;        tChart1.Axes.Bottom.Minimum = e.NewValue;        tChart1.Axes.Bottom.Maximum = e.NewValue + bar1.Count;}[VB.Net]Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load            Dim Range As Integer = Bar1.XValues.Maximum - Bar1.XValues.Minimum / 2            Bar1.FillSampleValues(20)            TChart1.Panning.Allow = Steema.TeeChart.ScrollModes.None            HScrollBar1.Value = Range            HScrollBar1.Minimum = Range - 50            HScrollBar1.Maximum = Range + 50End SubPrivate Sub HScrollBar1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll            TChart1.Axes.Bottom.Automatic = False            TChart1.Axes.Bottom.Minimum = e.NewValue            TChart1.Axes.Bottom.Maximum = e.NewValue + Bar1.CountEnd Sub 

现TeeChart for .NET已加入在线订购,现在抢购可立享优惠!

如果您对该图表控件感兴趣,欢迎加入图表控件QQ交流群:

关注慧聚IT微信公众号了解产品的最新动态和最新资讯。


标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月24日
下一篇 2021年6月24日

相关推荐

发表回复

登录后才能评论