翻譯|使用教程|編輯:王香|2018-11-23 09:59:06.000|閱讀 291 次
概述:使用圖表編輯器,在添加函數(shù)后,函數(shù)系列的“數(shù)據(jù)源”頁(yè)面將顯示包含在函數(shù)定義中的可用系列列表。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上一篇文章中,我們介紹到了在Teechart Pro ActiveX中的功能特點(diǎn)和添加功能,今天我們接著講定義數(shù)據(jù)源、功能期間和周期樣式
上一節(jié)中的示例重點(diǎn)介紹如何使用Datasource通過代碼填充Function.Series使用datasource定義Function的輸入或定義Series ODBC數(shù)據(jù)源(請(qǐng)參閱有關(guān)訪問數(shù)據(jù)庫(kù)的教程)。
使用圖表編輯器,在添加函數(shù)后,函數(shù)系列的“數(shù)據(jù)源”頁(yè)面將顯示包含在函數(shù)定義中的可用系列列表。在這里,您可以更改要應(yīng)用于系列的函數(shù)類型,并從左側(cè)列表框“Available”中選擇系列,并將它們添加到右側(cè)列表框“Selected”。
按代碼的數(shù)據(jù)源使用Series.Datasource屬性。
例:假設(shè)我們?cè)趫D表中有2個(gè)數(shù)據(jù)系列。我們添加了一個(gè)由2系列的平均值組成的函數(shù):
With TChart1 .AddSeries scLine 'Define the Function Type for the new Series .Series(2).SetFunction tfAverage .Series(2).DataSource = "Series0,Series1" End With
我們?yōu)?系列添加點(diǎn)數(shù):
Dim t As Integer With TChart1 For t = 0 To 10 .Series(0).Add 2 * t, "", clTeeColor .Series(1).Add 3 * t, "", clTeeColor Next t End With
請(qǐng)注意,該功能不會(huì)顯示。您需要使用Series.CheckDatasource方法讀取Function的值。
TChart1.Series(2).CheckDataSource 'Read in data for Function
可以使用Setfunction方法在運(yùn)行時(shí)更改函數(shù)定義,以便為Series分配新函數(shù)。
TChart1.Series(2).Setfunction tfMovavg
使用上面的代碼行,Setfunction將Series(2)的Function更改為Moving Moving。
Period是使用函數(shù)的重要屬性,因?yàn)镻eriod定義了循環(huán)應(yīng)用Function的點(diǎn)的范圍。
例:我們有6個(gè)數(shù)據(jù)點(diǎn)(例如Bar系列的條形圖),其值為: 3,8,6,2,9和12
我們定義一個(gè)具有周期0的函數(shù)系列(默認(rèn)),繪制的平均值為: 6.667
將Period設(shè)置為2,我們得到3個(gè)平均值作為函數(shù)的輸出: 5.5,4和10.5
這些值將在其周期范圍中集中繪制,即輸入系列的第1和第2列之間的第1個(gè)值,第3個(gè)和第4個(gè)條之間的第2個(gè)值等。 您可以通過在“Datasource”頁(yè)面中選擇相關(guān)的“Series和Function”并單擊“Options”選項(xiàng)卡來(lái)定義“Period”,也可以使用“FunctionType”在運(yùn)行時(shí)修改“Period”。 例如,系列2是功能系列:
期間可以定義為范圍。這在使用Date-Time系列時(shí)非常有用,并且想要在“OneMonth”或“OneDay”等日期時(shí)間步驟中表達(dá)函數(shù)的“Period”。屬性“PeriodStyle”控制如何表達(dá)“Period”。 例如,您現(xiàn)在可以使用日期時(shí)間源系列上的常規(guī)“Average”功能繪制“monthly average of sales\月平均銷售額”功能,并將功能期間設(shè)置為“one month”:
'Add a Series and fill it with datetime data values at runtime (or from a database) TChart1.Series(1).SetFunction tfAverage TChart1.Series(1).FunctionType.PeriodStyle =psRange TChart1.Series(1).FunctionType.Period = TChart1.GetDateTimeStep dtOneMonth TChart1.Series(1).DataSource = "Series0"
這將產(chǎn)生幾個(gè)點(diǎn),每個(gè)點(diǎn)顯示Series0中每個(gè)月數(shù)據(jù)的“Average”。 在計(jì)算日期時(shí)間段的函數(shù)時(shí),必須按源日期對(duì)源Series0中的點(diǎn)進(jìn)行排序。 該范圍也可用于非日期時(shí)間序列:
TChart1.Series(1).SetFunction tfAverage TChart1.Series(1).FunctionType.PeriodStyle =psRange TChart1.Series(1).FunctionType.Period=100 TChart1.Series(1).DataSource= "Series0"
這將計(jì)算每個(gè)“100”間隔內(nèi)每組點(diǎn)的平均值。 ( X > = 0,X < 100的點(diǎn)將用于計(jì)算第一個(gè)平均值,X> = 100的點(diǎn),X < 200將用于計(jì)算第二個(gè)平均值,依此類推......)。 請(qǐng)注意,這與計(jì)算每100個(gè)點(diǎn)的平均值不同。 使用“Period Alignment”屬性可以對(duì)齊“Series”范圍內(nèi)的功能點(diǎn)。以下將繪制每月結(jié)束時(shí)的功能點(diǎn):
TChart1.Series(1).FunctionType.PeriodStyle = psRange TChart1.Series(1).FunctionType.Period = TChart1.GetDateTimeStep dtOneMonth TChart1.Series(1).FunctionType.PeriodAlign =paLast
PeriodStyle = OneMonth and PeriodAlign = paLast
從下圖中可以看出,“average”是在月底繪制的。
PeriodStyle = OneMonth and PeriodAlign = paFirst
在這種情況下,“average”在月初繪制。
購(gòu)買TeeChart Pro AciveX正版授權(quán),請(qǐng)點(diǎn)擊“”喲!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn