GraphBuilderに送信されるDispatch()オプションを動的に変更するスクリプトのオプションに応じて、グラフビルダーに送信されるオプションの一部を変更する必要があります。私はそれを動作させる方法を理解することができません。
このスクリプトは、グラフのスケール( "ログ")、フォーマット( "エンジニアリング"、12)を作成するために機能します。
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
しかし、私がこのような情報を送信しようとすると、同じように見えても機能しません。
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
これで何か助けていただければ幸いです!
グラフィックススクリプティングRe:GraphBuilderに送信されるDispatch()オプションを動的に変更するここで他の多くの議論に答えて言ったように、Send to Report引数は、スクリプトを保存するときにJMPがカスタマイズを保存できるように開発されました。 それは私たちのために開発されたのではありません。 より良い方法があります。 軸ボックスに直接Formatメッセージを送信します。 このような:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
Re:GraphBuilderに送信されるDispatch()オプションを動的に変更する追加する@ markbailey#@ markbailey# JMPプラットフォームからの出力でさまざまな表示オブジェクトに渡すことができるすべてのメッセージと関数は、スクリプトインデックスの例で説明されています。。さまざまなJMPプラットフォームからの出力は、表示ツリーと呼ばれるオブジェクトで満たされた構造で表示されます。 したがって、表示ツリーに関するスクリプトガイドのセクションも読むことをお勧めします。JMPプラットフォームからの出力を使用して実行できる驚くべきことのまったく新しい世界を開きます。
Re:GraphBuilderに送信されるDispatch()オプションを動的に変更する二期
- プラットフォームオブジェクト:グラフビルダーの背後にあるロジック。 見えません。
- レポートサーフェス表示ボックスツリー:グラフビルダーからの出力。 目に見えるグラフ、スライダー、ボタン。
マークは正しいです。ディスパッチ構文は、人間ではなくマシン用に作成されました。 Dispatchメッセージには、プラットフォームオブジェクトがレポート内の表示ボックスを見つけるために使用する情報が含まれています。使用する必要がある場合は、 SendToReportディスパッチは次のように送信する必要があります。
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);GBはプラットフォームオブジェクトです<<派遣メッセージが送信されます。 送信しないでください<<派遣レポート画面へのメッセージ。 SendToReport(...)メッセージをレポートツリーにディスパッチするようにプラットフォームオブジェクトに指示しています。
マークは使用を提案
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
上記のすべてにおいて、 GBグラフビルダーのプラットフォームオブジェクトです。 マークの例では、 GB担当者グラフビルダープラットフォームオブジェクトに属する表示ボックスレポートツリーです。 の送信<<報告へのメッセージGBプラットフォームオブジェクトは、表示ボックスツリーのルート(レポートサーフェス、表示されている部分)を取得します。 ルートに添え字を付けると、表示ボックスツリーのより具体的なサブツリーが返されます。
gb rep[AxisBox(2)]
それが、MarkがFormatメッセージを送信したいものです。 その添え字を取得する1つの方法は、ツリー構造の表示を使用することです。
ツリー構造の表示:開閉三角形を右クリックします。
レポートとツリー構造ウィンドウはリンクされています。高さ軸をクリックしました。 高さ軸とツリー構造のその情報の両方が強調表示されます。 AxisBox(2)は、レポートの2番目の軸ボックスです。
Re:GraphBuilderに送信されるDispatch()オプションを動的に変更しますマークに感謝します、それはとても役に立ちました。 グラフビルダーで必要なグラフを作成し、JMPが生成するスクリプトをコピーして、それを独自の変数で編集しましたが、機能しませんでした。 あなたのソリューションはうまく機能し、実装したいすべてのさまざまな変更についてプロセスをよりよく理解するのに役立ちました。