MSChart還有兩個不錯用的過濾資料功能Filter及FilterTopN,Filter除了客制化的過濾方式,也可以找出= , < , <= , > , >= , <>的資料,而FilterTopN就可以找出最高/低的幾筆資料,所以我們就不用自己再去Coding.
MSChart還有兩個不錯用的過濾資料功能Filter及FilterTopN,Filter除了客制化的過濾方式,也可以找出= , < , <= , > , >= , <>的資料,而FilterTopN就可以找出最高/低的幾筆資料,所以我們就不用自己再去Coding.
FilterTopN的用法很簡單,一共有7個多載,因為我們會需要找最高/低的資料,所以會用到bool getTopValue的這個Function.
chart1.DataManipulator.FilterTopN(int pointCount, Series input Series ,Series output Series,string using Value,bool get top Value);
參數說明 :
int point Count = 要找幾筆資料,比如說,要找前三名,那這就會3
Series input/output Series : 要過濾的Series
string using Value : 要使用那一個軸的值,例如X,Y,Y2,Y3.
bool get top Value : True 找最高的,False,找最低的.
原始完整資料 :
最高前5筆資料 :
最低5筆資料 :
另一個Filter的使用方式也很簡單,之中有一個參數是CompareMethod,一共有下列幾種及說明 :
CompareMethod.EqualTo =
CompareMethod.LessThan <
CompareMethod.LessThanOrEqualTo <=
CompareMethod.MoreThan >
CompareMethod.MoreThanOrEqualTo >=
CompareMethod.NotEqualTo <>
chart1.DataManipulator.Filter(CompareMethod.EqualTo, 5, chart1.Series[0], chart1.Series[0]);
這樣就會過濾出等於5的資料.
同樣也可以過濾出大於50以上的資料.
用這兩個Function就可以減少我們不少過濾的動作,但如前篇[MSChart] 使用客制化Filter並在Y軸放入多個ValueMember所提到的DataManipulator.FilterMatchedPoints及DataManipulator.FilterSetEmptyPoints,才不會過濾出不剛好相反或是格式不對的圖表.
原始碼 : MSChartDemo.zip