Mousetrap() を使用したネストされたチャートのドリルダウンドリルダウン機能を持つチャートを作成するユースケースがあります。
ユーザーがチャート上のポイントをクリックすると、Mousetrap() 関数を使用してスクリプトが実行され、より詳細なドリルダウン情報を含む別のチャートを含む新しいウィンドウがポップアップ表示されます。
次に、この最初のポップアップ ウィンドウから追加レベルのドリル ダウンをサポートしたいと考えています。
添付のスクリプトで BigClass データセットを使用した簡単な例を示します。
スクリプト内のメモは問題を強調しています。1 回の mouse-trap() 関数呼び出しだけで、最初のドリル ダウンが機能します。
しかし、2 番目のマウス トラップを追加すると、具体的には最初のドリルダウンの結果として生じるグラフに追加すると、代わりに 2 番目のドリルダウン アクションが最初のマウス クリックに適用されますが、これは予期されていませんでした。 .
このように MouseTrap() を使用できるかどうかわかりませんか?
d
Re: Mousetrap() を使用したネストされたチャートのドリルダウン@マークベイリーグラフレットへの参照をありがとう!
@tslそのため、複数のレベルにわたってドリルダウンする必要があります。 これは、データ ビジュアライゼーション自体を使用してデータについて学習し、対象を絞り込むための優れた方法です。
グラフレットを使用して JMP15 でそれを行う方法を数えてみましょう。 この新機能は、「磁器 + 配管」アーキテクチャに従います。つまり、カスタム ケースを実装するためにアクセスできるプログラミング (JSL) API の上に構築された、標準的な動作を実現するための事前定義された使いやすい方法があります。 あなたが説明したシナリオは、2 つの異なる「磁器」またはポイント アンド クリックのアプローチを使用して実装できます。
特定の単一の測定値 (高さなど) に焦点を当てている場合は、ヒストグラムのようなグラフレット プリセットを使用できます。 ベースライン グラフを作成したら、グラフの背景を右クリックして、新しい [ホバー ラベル] メニューにアクセスします。 そこから、プリセットオプションが表示されます

グラフレット プリセットは、指定された視覚化タイプのグラフレットを作成し、ベースライン グラフで選択された変数から役割マッピングを導き出します。 ベースライン グラフは高さ変数の数を示しているため、ヒストグラム グラフレット プリセットは、特定のバーごとにその変数の分布を自動的に表示します。しかし、各バーはすでに 1 つの高さの値にフィルター処理されているため、興味深い分布ではありません。 代わりに、ベースラインがヒストグラムだったとしましょう。ヒストグラム プリセットは、各ビンの値の分布を示します。

ホバー ラベルのサムネイルがグラフ プレビューのように機能することに注意してください。 先に進んでサムネイル画像をクリックすると、新しいウィンドウに同等のグラフが表示されます。 この新しいグラフは、ホバーされたビジュアル要素 (この場合は 60-62 ビン) に対応する行のみが含まれるようにフィルタリングされ、ドリルダウン操作が実装されます。 フィルター操作は、折りたたまれたローカル データ フィルターを使用して実装されるため、関連のない選択の変更に対して回復力があり、フィルター設定の変更を通じてさらに探索することができます。

Graphlet プリセットのもう 1 つの特徴は、高度なドリルダウン シナリオをサポートするために、再帰的に事前構成されていることです。 したがって、先に進んで、新しいヒストグラムのビンを操作できます。 それらもドリルダウンできることがわかります。

ページに添付された .jsl の例には、より複雑なドリルダウン シナリオがあり、各ドリルダウン レベルで特定の値に対して視覚化タイプと役割の割り当てが選択されています。
* レベル 0 (ベースライン): 高さの値のカウント
* レベル 1: 性別ごとの体重の箱ひげ図
* レベル 2: ログに表示される行の詳細
このレベルのカスタマイズは、別の種類の「ポーセリン」である Paste Graphlet コマンドを使用して行うことができます。 このコマンドを使用すると、ユーザーはグラフレット定義を「スタック」できます。これは、ユーザーが各レベルでビジュアル要素をドリルダウンするときに使用されます。
したがって、ベースライン グラフを作成したら、目的のドリルダウン レベルのそれぞれを表すグラフを作成します。 フィルタリングについて心配する必要はありません - 前のケースと同様に、フィルタリングは自動的に行われます。 次に - から始めます過去レベル - そのスクリプトをクリップボードにコピーします。

次に、前のグラフに移動し、(スクリプトとして) グラフレットを貼り付けます。

上の画像では、レベル 1 のドリルダウン グラフ (性別ごとの重みグラフレット) をベースライン グラフに貼り付けています。 結果:

このシナリオが定義されているため、レベル 2 の貼り付けグラフレットは必要ありませんでした。 ホバーしたビジュアル要素の行の値を表示することは、ホバー ラベルの既定の動作です。 2 番目のボックス プロットにカーソルを合わせた後、2 番目のレベルのドリルダウンで表示される内容は次のとおりです。

ホバー ラベルを右クリックすると、ユーザーはその内容をコピーしたり、データをサブセット化したり、ホバー ラベルの構成をさらに変更したりできます。
これがお役に立てば幸いです。 カテゴリ別のドリルダウンの例については、次の回答を確認してください。 https://community.jmp.com/t5/Discussions/drill-down-in-a-graph-hierarchy/mp/11702
ホバー ラベルのカスタマイズの詳細については、次の URL を参照してください。 https://www.jmp.com/support/help/en/15.0/index.shtml#page/jmp/add-hover-graphs.shtml#
グラフレットに関する具体的な情報は次のとおりです。 https://www.jmp.com/support/help/en/15.0/index.shtml#page/jmp/add-graphs-or-images-to-hover-labels.s...
Re: Mousetrap() を使用したネストされたチャートのドリルダウンありがとう ! 優れた提案! それは機能し、コメントしたように、関数に分離することでより良いコードになります。 これを、実際に 4 レベルのプログレッシブ ドリル ダウンがある「現実世界」のユース ケースに組み込むことができたので、関数を使用すると、はるかに読みやすくなりました。Re: Mousetrap() を使用したネストされたチャートのドリルダウンクールなアイデア! コードを関数に移動すると、機能します。
makesubset = Function( {_x},
{TestWin}, // local variables
dt << select where( :height == _x );
TestWin = New Window( "Drill Down Window",
dt << GraphBuilder( Size( 534, 448 ), Show Control Panel( 0 ),
Where( Selected() ), Variables( X( :sex ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 4 ) ), Box Plot( X, Y, Legend( 5 ) ) )
)
);
TestWin[FrameBox( 1 )] << add graphics script(
Mousetrap(
_x2 = Round( X, 0 );
Show( _x2 );
)
);
);
dt = Open( "$sample_data/big class.jmp" );
dt << Graph Builder( Size( 527, 454 ), Show Control Panel( 0 ),
Variables( X( :height ) ), Elements( Bar( X, Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", FrameBox,
{Add Graphics Script( 2, Description( "Script" ),
Mousetrap(
_x = Round( X, 0 );
makesubset( _x );
)
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);Mousetrap 関数は実際には他の関数のように実行されないため、説明したとおりに動作します。 <
私はそれが最後のものを保持していると思います。 スキャンは関数呼び出しには続きません。関数呼び出しにより、JSL の読み取りと保守が容易になる場合があります。
@EvanMcCorkleはい、ネズミ捕りの中にネズミ捕りを見つけるのは奇妙に思えます。
Re: Mousetrap() を使用したネストされたチャートのドリルダウンJMP 15 では、まさにこの目的のために「ホバー ラベル」が導入されました。 連携する 3 つの側面があります: グラフレット、テキストレット、およびグリッドレットです。
[ヘルプ] > [JMP ドキュメント ライブラリ] > [スクリプト ガイド] > [第 9 章: JMP レポート]、512 ページを参照してください。 ドリルダウン動作を実装する方法を学ぶための説明と例がたくさんあります。