[MSChart] 使用Filter及FilterTopN來過濾資料

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,找最低的.

原始完整資料 :

image

最高前5筆資料 :

image

最低5筆資料 :

image

 

另一個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的資料.

image

同樣也可以過濾出大於50以上的資料.

image

用這兩個Function就可以減少我們不少過濾的動作,但如前篇[MSChart] 使用客制化Filter並在Y軸放入多個ValueMember所提到的DataManipulator.FilterMatchedPoints及DataManipulator.FilterSetEmptyPoints,才不會過濾出不剛好相反或是格式不對的圖表.

 

原始碼 : MSChartDemo.zip