基準線の順序が機能しないこんにちは。 テーブル スクリプトを使用して、いくつかの二変量プロットを作成しています。 プロットごとにいくつかの基準線を作成しますが、フレームボックスでディスパッチを使用して基準線の順序をより高いものに変更し、基準線がデータの前に描画されるようにします。 しかし、これは何も変わっていないようです。 これが私がやろうとしていることの簡単な例です。 これを行うと、基準線の順序は変わりません。
私は何かが足りないのですか?
myWin = New Window( "plots",
H List Box(
Bivariate(
Y( :Name( "y1" ) ),
X( :Name( "x1" ) ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line( 329, "Solid", "Black", "a line", 2 ),
Add Ref Line( 349, "Solid", "Blue", "b line", 2 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 400, 300 ), Grid Line Order( 1 ), Reference Line Order( 5 )}
),
),
Bivariate(
Y( :Name( "y2" ) ),
X( :Name( "x2" ) ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line( 329, "Solid", "Black", "a line", 2 ),
Add Ref Line( 349, "Solid", "Blue", "b line", 2 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 400, 300 ), Grid Line Order( 1 ), Reference Line Order( 5 )}
),
)
)
)
)
)Re: 基準線の順序が機能しない実際には、dispatch の add graphics 部分で階層を指定しないと、上に描画されます。 それが私がしたことです。 ディスパッチを使用すると、バックグラウンド/フォアグラウンドが無視されるようです。
Re: 基準線の順序が機能しないマークのスクリプトは、他のすべての参照線とグリッド線、および適合線の上に線を描画します。
私が知っているフレームボックスの順序は、スクリプト以外では、グリッド ライン オーダーとリファレンス ライン オーダーだけです。
フレームボックスに項目を追加する方法とタイミングによっては、Inval を送信してから Update Window メッセージを送信する必要がある場合があります。 わたしにはできる。下記参照。 使用している JMP のバージョンと、MAC と PC について言及する必要があります。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Add Ref Line( 108.3182, "Solid", blue, "M mean", 2 );
axisbox << Add Ref Line( 100.9444, "Solid", purple, "F mean", 2 );
rbiv[axis box( 1 )] << {Min( 60 ), Max( 180 ), Inc( 10 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )};
rbiv[axis box( 2 )] << {Min( 50 ), Max( 72.5 ), Inc( 4 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )};
biv_fb = rbiv[frame box( 1 )];
biv_fb << Reference Line Order( 1 );
biv_fb<<INVAL></INVAL>
Re: 基準線の順序が機能しないうーん。 2 つのポイントに V ラインを含むグラフィックス スクリプトを追加し、より高い描画レベルで作成しましたが、これらのラインを前に出したり、すべての上に描画したりしませんでした。 含める予定のプロットがさらにたくさんあり、この方法でスクリプトが既に作成されているため、推奨にもかかわらず、Send To Report を使用しています。 しかし、これはうまくいかないようです。
Re: 基準線の順序が機能しないここに1つの解決策があります:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "My Plots",
H List Box(
biv1 = dt << Bivariate( Y( :Weight ), X( :Height ) ),
biv2 = dt << Bivariate( Y( :Weight ), X( :Height ) )
)
);
{biv1_rep, biv2_rep} = {biv1, biv2} << Report;
{biv1_rep[FrameBox( 1 )], biv2_rep[FrameBox( 1 )]} << Frame Size( 400, 300 );
{biv1_rep[FrameBox( 1 )], biv2_rep[FrameBox( 1 )]} << Add Graphics Script(
H Line( 120 );
);Re: 基準線の順序が機能しない軸ボックスは、参照線を管理します。参照線の順序は、他のグラフィックスではなく、他の参照線に対して相対的です。フレーム ボックス内のグラフィックス スクリプト (実際の視覚情報) の前に、線が最初に描画され (背景の視覚的コンテキスト)、その他のスケールのカスタマイズが行われると思います。
あなたが使用することができます横線()またVライン( ) 代わりに機能し、他のグラフィックス要素に対していつ描画されるかを制御できます。 これらは、軸ボックスではなく、フレーム ボックスに関連付けられています。
Send to Report ディレクティブの使用はお勧めしません。 メッセージをターゲット オブジェクトに直接送信することをお勧めします。