データ フィルターを使用したグラフ ビルダーの使用に関する問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />グラフ ビルダーはデータ フィルターと正常に連携し、データ フィルター スライダーを移動するとプロットされた点を適切に調整します。 また、キャプション ボックスを使用した統計の値は、予想どおりデータ フィルター スライダーで調整されます。 ここまでは順調ですね。 次に、「カスタマイズ」と「Y 関数」を使用して列の平均をプロットしたいと思いました。 抽出されたスクリプトは次のとおりです。
グラフィックス スクリプトの追加(
3、
説明( "スクリプト" )、
Y Function( Col Mean( :_columnexample_ ), x )
)
目的の平均線が正常にプロットされます。 ただし、プロットされた線はデータ フィルター スライダーに反応しません。
データフィルターで機能する列平均をプロットするにはどうすればよいですか?
Re: データ フィルターでグラフ ビルダーを使用する際の問題イアンさん、答えてくれてありがとう。 あなたのスクリプトを調べたところ、それが機能することがわかりました。 ただし、私の場合は、多くのグラフが一度に影響を受けるようにデータ フィルターをグローバルに保つ必要がありますが、これはまだ管理できていません。
Re: データ フィルターでグラフ ビルダーを使用する際の問題Jim の考えに基づいて、(ローカル データ フィルターを使用した) 1 つの方法を次に示します。
名前デフォルトここへ( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// グラフビルダー
ギガバイト= dt <<グラフビルダー(
コントロールパネルを表示( 0 ) 、
ロックスケール( 1 ) 、
変数(バツ( :重さ) 、 Y ( :身長) ) 、
要素(ポイント(バツ、 Y 、伝説( 6 ) ) 、フィットライン(バツ、 Y 、伝説( 8 ) ) ) 、
) ;
// レポートへの参照を取得します
gbレポート=ギガバイト<<報告;
// ローカル データ フィルターを追加します
LDF =ギガバイト<<ローカルデータフィルター(フィルターの追加(列( :セックス) ) ) ;
// 現在の行の平均値に水平線をグラフ ビルダーに追加する行状態ハンドラー関数
// ローカル データ フィルターでの選択
平均Yラインを追加=
関数({バツ} 、 {デフォルトのローカル} 、
// 現在の選択に対応する行を取得します
行= LDF << getFilteredRows ;
// 必要な平均値を取得します
MV =平均((カラム( dt 、 "身長" ) <<値の取得)[行]) ;
// グラフィックス スクリプトをグラフ ビルダー表示ボックスに追加します。 。 。
gフレーム= gbレポート<< XPath ( 「//フレームボックス」 ) ;
// すでに存在している可能性のあるグラフィックス スクリプトを削除してみます
試す(送信( gフレーム[ 1 】 、グラフィックススクリプトの削除( 1 ))) ;
// 必要なグラフィックス スクリプトを追加する式
アグ=エクスプレッション(送信( gフレーム[ 1 】 、グラフィックススクリプトの追加(ペンの色( "赤" ) ; Hライン(未定)))) ;
// 現在の平均値を「焼き付ける」
代入(アグ、エクスプレッション(未定) 、 MV ) ;
// グラフィックススクリプトを追加します
アグ;
) ;
// 行状態ハンドラーをローカル データ フィルター表示ボックスに割り当てます。
rsh = gbレポート[アウトラインボックス( 1 )] << MakeRowStateHandler (平均Yラインを追加) ;
Re: データ フィルターでグラフ ビルダーを使用する際の問題ご返信ありがとうございます。
データ フィルターのスクリプトは次のとおりです。これはローカルではありません。
現在のデータ テーブル() << データ フィルター(
場所( {325, 212} )、
モード( 表示( 1 )、インクルード( 1 ) )、
Filter( columns( :Bandmeter ), Where( :Bandmeter >= -100 & :Bandmeter <= -50 ) ) を追加します。
);?
問題は Include(1) ステートメントにあると思います。おそらく Exclude にする必要があります。 30 日間の無料トライアルが終了したばかりなので、テストするにはライセンスを取得するまで待つ必要があります。
フィルターの任意の初期値がいくつか含まれているのは、現在のデータ テーブルのすべての行を含める方法がまだわかっていないためです。 現時点ではそれほど大きな問題ではないようですが、Y 関数でのデータ フィルターの使用が困難になる原因はこれではないとも推測しています。
Re: データ フィルターでグラフ ビルダーを使用する際の問題解決策はおそらく、データ フィルターを使用しているか、ローカル データ フィルターを使用しているかによって異なります。データ フィルターを使用している場合は、Y 関数を再描画する行状態ハンドラーをデータ テーブルに適用できます。ローカル データ フィルターの場合、重要なのは、Y 関数を再描画するためにトリガーできるフィルターによってグラフ内で何が変更されたかを見つけることです。
使用しているデータ フィルターの詳細を提供していただければ、さらに詳しい解決策を提供できるかもしれません。