翻譯|使用教程|編輯:況魚杰|2019-08-28 15:39:12.000|閱讀 468 次
概述:本教程將會持續介紹有關于圖表控件Teechart的問答文章,幫助用戶解決常見問題。本篇文章將會介紹如何使用TeeChart Pro VCL動畫活動量表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TeeChart Pro VCL/FMX是一款主流的圖表制作工具。提供了數百種用于可視化的2D、3D圖形樣式、56種數學、統計和金融函數,以及不限數量的坐標軸和30種調色板組件。
目前TeeChart Pro for VCL / FMX沒有可用于本文章將會展示如何使用另一個系列類型和一些技巧去創建活動量表。
需要用到甜甜圈類型,我們要在圖表上添加盡可能多的Donut系列作為我們想要的活動。直接從圖表編輯器本身入手。
當在表格中添加了圖表并且添加的是不同的甜甜圈系列,似乎無法獲得所需的結果,但我們會看到...... 這時候,首先要做的是將圖表設置為2D,隱藏標題和傳奇,我們也會隱藏每個系列的標記。我們在這里:
現在,需要修改一個將開始進行更改的重要屬性。它是名為Multiple Pies的屬性,在編輯器 - >系列 - > Series1 - > Donut - > Options - > Multiple Pies。默認情況下,此項設置為自動,我們會將所有系列更改為禁用。
修改此屬性后,我們在圖表中看起來只有一個甜甜圈系列,如此處所示。
接著修改另一個將更改圖表的重要屬性,它是名為Hole%的屬性,我們在格式選項卡中的每個系列的選項中找到它。在這里,要為每個Donut系列的孔設置不同的百分比值,在不同系列之間分配大小。第一個系列必須包含較小的孔尺寸,我們可以設置值60%,在第二個系列中(在我們有三個系列的情況下)我們將設置值74%,第三個88%。 結果將是:
現在,您所要做的就是為每個系列隱藏筆,或者設置不同的顏色和大小,我們將看到我們想要的圖表。
作為系列或圖表的一個額外特征,我將在中心添加一個文本,它將顯示活動的價值。為此,我可以使用TeeChart中已有的注釋工具,也可以通過TChart編輯器創建/添加。將注釋對齊設置為居中并格式化字體。
這個系列類型(活動量表)的一個重要特征是它的動畫。TeeChart Pro為不同的系列類型合并了幾個動畫,但在這種情況下,由于正在創建的是一種完全個性化的系列,所以將手動創建動畫。
要在表單中添加三個TTimer對象,每個系列一個,將它們設置為Enabled為False并定義Interval為10。
還可以添加一個Button組件,這是用來啟動動畫的組件。
接著給它功能;我們將通過代碼執行后續步驟。
通過代碼做的第一件事是創建一個方法,將會重置并初始化所有Series值,名為ResetValues, 代碼:
procedure TActivityGaugeForm.ResetValues; var i : integer; begin ChartTool1.Text := '0 %'; Chart1.Hover.Visible := false; for i := 0 to Chart1.SeriesCount-1 do begin Chart1[i].FillSampleValues(2); Chart1[i].YValue[0] := 100; Chart1[i].YValue[1] := 0; Chart1[i].ValueColor[0] := Series1.Pen.Color; end; end;
將從Application的CreateForm事件中調用此方法,并且每次單擊Button1時也是如此:
procedure TActivityGaugeForm.FormCreate(Sender: TObject); begin ResetValues; end; procedure TActivityGaugeForm.Button1Click(Sender: TObject); begin ResetValues; Timer1.Enabled := true; Button1.Enabled := false; end;
最后,唯一缺少的是在相應的Timer事件中添加生成Series動畫的代碼:
procedure TActivityGaugeForm.Timer1Timer(Sender: TObject); begin Series1.YValue[0] := Series1.YValue[0]-1; Series1.YValue[1] := Series1.YValue[1]+1; ChartTool1.Text := round(Series1.YValue[1]).ToString() + ' %'; if (Series1.YValue[1] = 90) then begin Timer1.Enabled := false; Timer2.Enabled := true; end; end; procedure TActivityGaugeForm.Timer2Timer(Sender: TObject); begin Series2.YValue[0] := Series2.YValue[0]-1; Series2.YValue[1] := Series2.YValue[1]+1; ChartTool1.Text := round(Series2.YValue[1]).ToString() + ' %'; if (Series2.YValue[1] = 75) then begin Timer2.Enabled := false; Timer3.Enabled := true; end; end; procedure TActivityGaugeForm.Timer3Timer(Sender: TObject); begin Series3.YValue[0] := Series3.YValue[0]-1; Series3.YValue[1] := Series3.YValue[1]+1; ChartTool1.Text := round(Series3.YValue[1]).ToString() + ' %'; if (Series3.YValue[1] = 60) then begin Timer3.Enabled := false; Button1.Enabled := true; end; end;
完成以上所有操作之后,需要運行應用程序并查看結果。
希望以上操作對您有幫助,如果你有任何的建議或者想法都可以聯系
相關資料推薦:
TeeChart Pro VCL/FMX已加入在線訂購,現在搶購可立享特別優惠!!!
關注慧聚IT微信公眾號???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: