スクリプトで自動軸スケーリングを設定するには?JMP 13 を使用して、スクリプト コマンドを使用して軸を自動スケールに設定する方法を教えてください。
最小値と最大値の単純な変数を示すスクリプト コードのスニペット。
SendToReport(
Dispatch(
{},
"val",
ScaleBox,
{Min( Axis_min ), Max( Axis_max ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 5, "Dotted", "Medium Dark Red", "5", 4 )}
),目標: 他の何か (ユーザー、スクリプト、その他) が軸 (最小値と最大値) を具体的に設定できるようにするか、ユーザーが「自動」を選択できるようにします。
ガイドと参照ドキュメントを検索すると、数値に設定できることが示されますが、自動スケーリング機能は文書化されていません。「Auto」またはピリオド、またはその他の記号を渡すとうまくいくことを望みましたが、うまくいきません。
また、最小値と最大値の設定行を一緒に除外して自動スケーリングを実現することはできません。これは、何かに値を設定できるようにするという目標を破るためです。
事前に助けてくれてありがとう。
Re: スクリプトで自動軸スケーリングを設定するには?申し訳ありませんが、変数を Axis_min から A に変更しました。 誰かが最初の文書に従わない場合に備えてRe: スクリプトで自動軸スケーリングを設定するには?解決策は、Revert Axis 機能を使用することです。ただし、これをスクリプト化するには、追加のヘルプが必要です。
重要なのは、軸設定で使用されている変数をチェックして、それが数値かどうかを確認することです。そうでない場合、JMP は欠損値を返します。 {スクリプト ガイド、pg68、第 3 章の文字関数を参照してください。 これにより、数値以外のチェックを行って軸を自動スケーリングにリセットしたり、スクリプト関数に値を渡すことができます。
axisbox(2) は y 軸で、axisbox(1) は x 軸用です。Report(gp) は、特定のグラフのオブジェクト ハンドルです。
if( ( Is Missing(num( A )) | Is Missing(num( B )) ),
Report(gb)[axisbox(2)] << {Revert Axis}; // axisbox(2) is the y axis
);それはうまくいきます。助けてくれてありがとう
Re: スクリプトで自動軸スケーリングを設定するには?同意します。 ただし、わずかな変更により、これをスクリプト化して動作させることができます。 以下に詳細を掲載しています。Re: スクリプトで自動軸スケーリングを設定するには?Send to Report() 引数を削除すると、特定の軸設定が強制されなくなり、JMP が自動的に軸をスケーリングすると思います。 この引数は、スクリプトを保存するときに設定を複製するために使用されます。 それ以外の場合は不要です。 Jim のアイデアは、特定の設定が課せられた場合の正しい解決策ですが、スクリプトのこの部分を削除すると、その余分な手順が不要になります。
Send to Report() は、オブジェクトをスクリプト化するための推奨される方法ではありません。 代わりに、メッセージをターゲット オブジェクトに送信します。
Re: スクリプトで自動軸スケーリングを設定するには?あなたが使いたいのは、Revert Axis メッセージだと思います。軸を、特定のプラットフォームに対して自動的に計算されるものに戻します。
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 << Max( 120 );
axisbox << Revert Axis;