707228_ja-JP
変数モデリングのタイプに応じてグラフ ビルダーのグラフ タイプを動的に変更する

このレシピでは、ユーザーが列スイッチャーで連続 x 軸変数を選択するかカテゴリカル x 軸変数を選択するかに応じて、グラフ ビルダーの要素タイプを動的に変更する方法を示します。 要素は、グラフ ビルダー パレットの上部にアイコンとして表示されるグラフ タイプです。 連続入力の場合、ユーザーが Line of Fit と Contour のどちらかを選択できるラジオ ボタンが追加されます。 このレシピは、JMP の専門家ではなく、限られた数のオプションしか必要としない人向けにインタラクティブなチャートを作成する場合に役立ちます。
材料:サンプルデータテーブル– ビッグクラス
困難- 難しい
ステップ- 皮切りに名前のデフォルトはここ(1)そして開くビッグクラス。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- にメッセージを送信する関数を作成します。グラフビルダー既存の要素を削除してから新しい要素を追加するプラットフォーム。 それは、ポイント要素はすでに表示されており、要素番号 1 であるため、削除される要素は番号 2 になります。
// This function changes the type of chart being displayed.
// It takes a reference to a Graph Builder report (gbr) and the chart type required (gr)
// At the moment it assumes the Points element will always be included
changeElement = function( {gbr, gr},
{default local},
Eval(
Substitute(
Expr(
gbr << remove element( 1, 1, 2 ) << add element( 1, 1, {Type( __aa__ ), X, Y} )
), Expr( __aa__ ), gr
)
)
);
- 列スイッチャーを含む新しいウィンドウを作成します ( cs ) X 軸を変更するには、ラジオ ボックス ( RB ) 連続変数の要素タイプを制御し、グラフ ビルダー (ギガバイト)。
rb_out = "Line of Fit";
win1 = New Window( "Demo",
Text Box(
"Column switching between continuous and nominal variables will change line of fit to box plots",
<<SET wrap=""></SET>
列スイッチャーはグラフ ビルダーの外部で意図的に作成されるため、スイッチャーが変更されたときにアクションを実行する関数を後で作成できます。
- カラムスイッチャーをリンクするcsグラフビルダーへギガバイト
cs << link platform( gb );
- 列スイッチハンドラーを作成します。 変更が完了すると、関数 post がハンドラーによって呼び出されます。 この形式は、Scripting Index から直接取得されます。
post = Function( {previousColumn, currentColumn, switcher},
gbr = Report( gb )[GraphBuilderBox( 1 )];
If( Column( dt, cs << get current ) << get modeling type == "Continuous",
changeElement( gbr, rb_out ),
changeElement( gbr, "Box Plot" )
);
);
cs << Make Column Switch Handler( 1, post );
切り替えが完了するまでは何も起こる必要がないことに注意してください。そのため、列スイッチハンドラーの作成何もしません。
- 最後に、デモ目的で列スイッチャーの実行を開始します。
cs << run();
潜在的な変動:
- グラフ ビルダー内の既存の要素を反復する「事前」変更関数を作成します (次を使用します)。 << 要素の取得)、削除する必要があるものを見つけて、プログラムで 3 番目の引数を設定します。 << (2 番目の要素であることに依存するのではなく) 要素を削除します。
Comments
There are no comments yet