TeeChart Pro VCL/FMX教程(十一):缩放和滚动
TeeChart Pro VCL/FMX是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。TeeChart Pro VCL/FMX教程将会以连载的形式持续为大家带来TeeChart Pro VCL/FMX的使用方法。
本篇教程为大家带来的是TeeChart Pro VCL/FMX中缩放和滚动的这一节,缩放和滚动在关注人口稠密图表中的特定数据时是非常有用的辅助工具,内容主要分为以下几个部分:
如何使用鼠标进行缩放和滚动
缩放
滚动
如何通过代码缩放和滚动
缩放
动画缩放
缩放事件
滚动
如何使用鼠标进行缩放和滚动
缩放
要缩放图表,请在要缩放的区域的左上角按鼠标右键,将矩形拖动到缩放区域的右下角。释放鼠标按钮将强制图表重绘所选区域。
要撤消缩放,请在图表区域的任意位置按鼠标左键,然后按住鼠标按钮向上和向左拖动。释放按钮,图表将强制重绘为最初定义的图表区域。
滚动
要滚动图表,请按住鼠标左键,将鼠标拖动到您想要滚动图表的方向。释放鼠标按钮时,图表将保留在新位置。
要撤消滚动,请在图表区域的任意位置按鼠标左键,然后按住鼠标按钮向上和向左拖动。释放按钮,图表将强制重绘为最初定义的图表区域。
如何通过代码缩放和滚动
缩放
默认情况下,启用缩放。使用AllowZoom属性禁用缩放,定义要缩放的矩形区域,请使用ZoomRect方法:
Rect.Left := LineSeries1.CalcXPosValue( 22.5 ) ; Rect.Top := LineSeries1.CalcYPosValue( 5000 ) ; Rect.Right := LineSeries1.CalcXPosValue( 57.6 ) ; Rect.Bottom:= LineSeries1.CalcYPosValue( 15000 ) ; Chart1.ZoomRect( Rect );
ZoomRect坐标以屏幕像素定义,其中0,0是图表面板的左上角。以下代码将放大第2和第5个x轴点之间的区域,将y轴设置为整个图表的最大和最小点的比例:
With Chart1 do begin ZoomRect(Rect(Axes.Bottom.CalcXPosValue(2), Axes.Bottom.CalcXPosValue(5), Axes.Left.CalcYPosValue(MaxYValue(Axes.Left)), Axes.Left.CalcYPosValue(MinYValue(Axes.Left)))); end;
使用撤消缩小。
Chart1.UndoZoom;
动画缩放
动画缩放提供步进缩放。您可以将AnimatedZoom设置为启用并为缩放交错步骤,而不是一步步的从缩小到放大。 启用AnimatedZoom后,您可以使用鼠标或代码手动缩放。
With Chart1 do begin AnimatedZoom := True; AnimatedZoomSteps := 10; ZoomRect(Rect(Axes.Bottom.CalcXPosValue(2), Axes.Left.CalcYPosValue(MaxYValue(Axes.Left)), Axes.Bottom.CalcXPosValue(5), Axes.Left.CalcYPosValue(MinYValue(Axes.Left)))); end;
缩放事件
手动或按代码放大将触发Chart.OnZoom事件,缩小将触发Chart.UndoZoom事件。
滚动
默认情况下,为所有方向启用滚动。使用AllowPanning属性禁用滚动或将滚动限制为一个方向。 您需要定义Axis最大值和最小值以便按代码滚动。
With Chart1 do begin AllowPanning := pmHorizontal; //permit manual scrolling horizontally only. Axes.Bottom.Automatic := False; Axes.Bottom.Minimum := 2; Axes.Bottom.Maximum := 5; end;
您可以使用滚动条更改轴最小值和最大值,从而完全按代码控制滚动,TeeChart Pro包含一个ScrollBar组件,可以使过程更容易。
ScrollBar组件:使用TChartScrollBar将滚动条添加到图表,TChartScrollBar可以连接到任何Axis,您应该使用Kind属性将ScrollBar定义为垂直或水平,使用Align属性来选择Axis。
手动代码:
With Chart1 do AllowPanning := pmHorizontal; //permit manual scrolling horizontally only. Axes.Bottom.Automatic := False; //limit display to 5 points onscreen ChartScrollBar1.Chart := Chart1; ChartScrollBar1.Kind := sbHorizontal; ChartScrollBar1.Min := 0; ChartScrollBar1.Max := 20; End With
本篇教程就介绍到这里,对以上内容有任何疑惑或者建议都可以在下方评论留言,TeeChart Pro VCL/FMX教程会持续更新,可以多多关注。
TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android均已加入在线订购,现在抢购可立享特别优惠!!!
关注慧聚IT微信公众号???,了解产品的最新动态及最新资讯。