Teechart图表应用技术详解—第四章之序列类工具(一)
Steema公司和慧都科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!
TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。
从下表序列类工具选项说明可以看出,这类工具是与序列( Series)密切相关的,也就是说,这些工具的操作是针对序列而言的,不过 TPieTool工具的序列类型是以饼图的方式描述的, TSurface NearestTool工具的序列是以三维数据表示,仅仅这一点差异而己。
序列类工具选项说明
类 | 序列 | 选项说明 |
TClipSeriesTool; | √ | 指定Series属性用于可裁剪的序列 |
TCursor Tool; | √ | Style:设定十字、水平、垂直光标 Follow mouse:光标随鼠标移动 Pen:设定绘制光标的笔 |
TDragMarksTool; | √ | 指定可拖拽标签的序列 |
TDragPointTool; | √ | Style:设定X、Y、Both的位置可拖拽 |
TDrawLineTool; | √ | Mouse Button:画线使用的鼠标按钮 Pen:设定画线使用的笔 Enable Select:可选择已绘制线段 |
TExtraLegendTool; | √ | Editlegend按钮:打开图例编辑对话框,用于设定图例格、位置、标题、文本、图例背景过渡颜色等参数 |
TGanttTool; | √ | Cursor:设定拖拽时的光标 Allow Drag:允许拖拽 Allow Resize:允许改变大小 |
TChartImageTool; | √ | Browse:浏览要用的位图 |
TMarksTipTool; | √ | Syle:设定提示标签中的内容 Mouse Action:设定是移动时Move还是 Click时显示提示标签 Delay:设定提示信息延迟显示时间 |
TNearestTool; | √ | Style:设定表示范围的几何形状(圆、矩形、三角) Pen、 Brush、Line和Size:设定绘制几何形状使用的各种工具 |
TPieTool; | × | Pie:指定绘制饼图 Style:饼图的风格,即是聚集绘制( Focus)还是分离绘制 Border:饼图的边设定 |
TSeriesAnimationTool; | √ | Steps:动画的步长 StartValue:开始值 Loop:循环设定如no、 one way, Circular |
TSeriesBandTool; | √ | Pen、Brush、Gradient、Transparency:设定绘制两条序列构成区域时使用的笔、刷子、渐近色、是否透明等参数 |
TSurfaceNearestTool | × | Surface:指定绘制的曲面 Cell:指定绘制单元使用的颜色 Row:指定绘制行使用的颜色 Col:指定绘制列使用的颜色 |
光标工具( TCursorTool)
光标工具TCursorTool可以提供大十字、直线(水平、垂直)三种光标,以便于在图表中浏览数据。光标的移动可以通过跟随鼠标、程序驱动和手动三种方式实现。
代码驱动光标。当单击某一按钮或某一事件发生时需要移动鼠标,可采用下列代码实现
ChartTool1.XValue:= ChartTool1.XValue -1;//光标左移 ChartTool1.XValue:= ChartTool1.XValue+1;//光标右移 ChartTool1.YValue:= ChartTool1.YValue+5;//光标上移 ChartTool1.YValue:= ChartTool1.YValue -5;//光标下移
上述四行代码分别放在Button1~Button4的 OnClick事件中,用于控制光标在四个方向的移动。
两个图表的光标同步。如果需要使两个图表组件的光标同步移动,可以在光标工具的OnChange事件中加入下列代码:
procedure TForm1. ChartTool3Change(Sender: TCursorTool;x, y: Integer; const Xvalue, YValue: Double; Series: TChartSeries; ValueIndex: Intege); begin if CheckBox1. Checked then //当同步标志为true时 begin ChartTool1.XValue : =XValue; ChartTool1.YValue := YValue; end; end;
加入上述代码后,当图表2的光标移动时,图表1的光标就跟着图表2同步移动。如果要相互同步,可在图表2的光标工具的OnChange事件中加上相应的代码就可以了。
跟随鼠标( Fllow Mouse)。若需要十字光标自动跟随鼠标移动,可以不写代码,只需在设计阶段将Follow Mouse复选框选中即可:或者在程序中使用CheckBox组件作为是否跟随的开关,在其OnClick事件中加入代码:
ChartTool1.FollowMouse:=CheckBox5.Checked; //根据检查框状态确定跟随Chart1 ChartTool3.FollowMouse:=CheckBox5.Checked; //根据检查框状态确定跟随Chart2
两图表同步显示。为使两图表的光标同步时,其序列显示也相同,可采用下列语句将Chart的序列值复制到Chart2的序列中,这时再移动光标,两个图表的变化就实现同步了。代码如下:
var i: integer; begin Series1. FillSampleValues(20); //Chart1中的序列 Series2. FillSampleValues(20); Chart1. Refresh; for t:=0 to Series1. Count-1 do begin Series3.AddY(Series1.YValue[i]);//给Chart2中的序列赋值 Series4.AddY(Series2.YValue[i]); end; end;
工具使用效果。光标工具TCursorTool运行阶段的效果如下图所示。
相关资料推荐:
上一章:工具组件概述
下一章:序列类工具(二)
=====================================
现TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!
关注慧聚IT微信公众号???,了解产品的最新动态及最新资讯。