<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />圖形產生器與資料過濾器成功配合,在移動資料過濾器滑桿時正確調整繪製點。 此外,使用標題框的統計值會如預期使用資料過濾器滑桿進行調整。 到目前為止,一切都很好。 然後我想使用“自訂”和“Y 函數”繪製列的平均值。 以下是提取的腳本:
新增圖形腳本(
3、
描述(“腳本”),
Y 函數( Col Mean( :_columnexample_ ), x )
)
已成功繪製所需的平均線條。 但是,繪製的線對資料過濾器滑塊沒有響應。
如何繪製與資料篩選器一起使用的列均值?
謝謝伊恩的回答。 我研究了你的腳本,發現它有效。 然而,就我而言,我需要保持資料過濾器全局,以便許多圖表可以同時受到影響,但我還沒有做到這一點。
基於吉姆的想法,這是一種方法(使用本地資料過濾器):
名稱預設到這裡( 1 ) ;
dt =打開( “$SAMPLE_DATA/大類.jmp” ) ;
// 圖形產生器
國標= dt <<圖形產生器(
顯示控制面板( 0 ) ,
鎖秤( 1 ) ,
變數( X ( :重量) ,是( :高度) ) ,
元素(積分( X ,是,傳奇( 6 ) ) ,擬合線( X ,是,傳奇( 8 ) ) ) ,
) ;
// 取得報告的引用
國標報告=國標<<報告;
// 新增本機資料過濾器
LDF =國標<<本地資料過濾器(新增過濾器(列( :性別) ) ) ;
// 行狀態處理函數,在目前的平均值處向圖形產生器新增一條水平線
// 在本機資料過濾器中選擇
新增平均Y線=
功能({ X } , {預設本地} ,
// 取得目前選擇對應的行
列= LDF <<取得過濾行;
// 取得所需的平均值
MV =意思是((柱子( dt , “高度” ) <<獲取值)[列]) ;
// 將圖形腳本加入Graph Builder 顯示框中。 。 。
g幀=國標報告<< X路徑( “//框架框” ) ;
// 嘗試刪除可能已經存在的圖形腳本
嘗試(傳送( g幀[ 1 ] ,刪除圖形腳本( 1 ))) ;
// 將會加入所需圖形腳本的表達式
阿格斯=表達式(傳送( g幀[ 1 ] ,新增圖形腳本(鋼筆顏色( “紅色的” ) ;水平線(待定)))) ;
//“烘焙”當前平均值
代入(阿格斯,表達式(待定) , MV ) ;
// 新增圖形腳本
阿格斯;
) ;
// 將行狀態處理程序指派給本機資料篩選器顯示框
rsh =國標報告[大綱框( 1 )] << MakeRowStateHandler (新增平均Y線) ;
感謝您的回覆。
這是資料過濾器的腳本,它不是本地的:
當前資料表() << 資料過濾器(
位置( {325, 212} ),
模式( 顯示( 1 ), 包含( 1 ) ),
新增過濾器(列(:Bandmeter),其中(:Bandmeter>=-100&:Bandmeter<=-50))
);?
我猜問題出在 Include(1) 語句上,也許應該是 Exclude 。 我的 30 天免費試用剛結束,所以我必須等待許可證才能進行測試。
包含過濾器的一些任意初始值只是因為我還沒有弄清楚如何包含當前資料表的所有行。 目前這似乎是一個較小的問題,但我也認為這不是使用 Y 函數的資料過濾器遇到困難的原因。
此解決方案可能取決於您使用的是資料過濾器還是本機資料過濾器。如果您使用資料篩選器,則可以將行狀態處理程序套用至資料表,這將重繪 Y 函數。如果它是本機資料過濾器,關鍵在於找到可以觸發的過濾器在圖表中發生的更改,以重繪 Y 函數。
如果您可以提供有關您正在使用的數據過濾器的更多詳細信息,我也許可以提供更多解決方案