Teechart圖表應用技術(shù)詳解—第四章之序列類工具(一)
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設計時與運行時的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學習上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價比高,價格優(yōu)惠等優(yōu)勢,并且針對Web應用提供無限制服務器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
從下表序列類工具選項說明可以看出,這類工具是與序列( Series)密切相關(guān)的,也就是說,這些工具的操作是針對序列而言的,不過 TPieTool工具的序列類型是以餅圖的方式描述的, TSurface NearestTool工具的序列是以三維數(shù)據(jù)表示,僅僅這一點差異而己。
序列類工具選項說明
類 | 序列 | 選項說明 |
TClipSeriesTool; | √ | 指定Series屬性用于可裁剪的序列 |
TCursor Tool; | √ | Style:設定十字、水平、垂直光標 Follow mouse:光標隨鼠標移動 Pen:設定繪制光標的筆 |
TDragMarksTool; | √ | 指定可拖拽標簽的序列 |
TDragPointTool; | √ | Style:設定X、Y、Both的位置可拖拽 |
TDrawLineTool; | √ | Mouse Button:畫線使用的鼠標按鈕 Pen:設定畫線使用的筆 Enable Select:可選擇已繪制線段 |
TExtraLegendTool; | √ | Editlegend按鈕:打開圖例編輯對話框,用于設定圖例格、位置、標題、文本、圖例背景過渡顏色等參數(shù) |
TGanttTool; | √ | Cursor:設定拖拽時的光標 Allow Drag:允許拖拽 Allow Resize:允許改變大小 |
TChartImageTool; | √ | Browse:瀏覽要用的位圖 |
TMarksTipTool; | √ | Syle:設定提示標簽中的內(nèi)容 Mouse Action:設定是移動時Move還是 Click時顯示提示標簽 Delay:設定提示信息延遲顯示時間 |
TNearestTool; | √ | Style:設定表示范圍的幾何形狀(圓、矩形、三角) Pen、 Brush、Line和Size:設定繪制幾何形狀使用的各種工具 |
TPieTool; | × | Pie:指定繪制餅圖 Style:餅圖的風格,即是聚集繪制( Focus)還是分離繪制 Border:餅圖的邊設定 |
TSeriesAnimationTool; | √ | Steps:動畫的步長 StartValue:開始值 Loop:循環(huán)設定如no、 one way, Circular |
TSeriesBandTool; | √ | Pen、Brush、Gradient、Transparency:設定繪制兩條序列構(gòu)成區(qū)域時使用的筆、刷子、漸近色、是否透明等參數(shù) |
TSurfaceNearestTool | × | Surface:指定繪制的曲面 Cell:指定繪制單元使用的顏色 Row:指定繪制行使用的顏色 Col:指定繪制列使用的顏色 |
光標工具( TCursorTool)
光標工具TCursorTool可以提供大十字、直線(水平、垂直)三種光標,以便于在圖表中瀏覽數(shù)據(jù)。光標的移動可以通過跟隨鼠標、程序驅(qū)動和手動三種方式實現(xiàn)。
代碼驅(qū)動光標。當單擊某一按鈕或某一事件發(fā)生時需要移動鼠標,可采用下列代碼實現(xiàn)
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組件作為是否跟隨的開關(guān),在其OnClick事件中加入代碼:
ChartTool1.FollowMouse:=CheckBox5.Checked; //根據(jù)檢查框狀態(tài)確定跟隨Chart1 ChartTool3.FollowMouse:=CheckBox5.Checked; //根據(jù)檢查框狀態(tài)確定跟隨Chart2
兩圖表同步顯示。為使兩圖表的光標同步時,其序列顯示也相同,可采用下列語句將Chart的序列值復制到Chart2的序列中,這時再移動光標,兩個圖表的變化就實現(xiàn)同步了。代碼如下:
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運行階段的效果如下圖所示。
相關(guān)資料推薦:
上一章:工具組件概述
下一章:序列類工具(二)
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。