グラフ領域外の注釈
グラフ エリア内で ([ツール] > [注釈] を使用して) 注釈を付けると、そのテキストはコピー時にグラフの一部になります。グラフ エリア外の注釈はグラフと共にコピーされないように見えます。
私が望むのは、各グラフの右下 (X 軸の下) に小さなテキストで N を示し、グラフと共にコピーされるすべてのスクリプトにドロップできる 1 行のコードです。
疑似コードは Text (, “n=” || char()) のようなものになります
したがって、複数のサブ質問:
- グラフと一緒にコピーする注釈 ([ツール] > [注釈] 経由) を取得するためのトリックはありますか?
- グラフの背景の右下にテキストを配置するには、どの JSL コードを使用しますか? (例えば、右下に原点を定義する方法はありますか?)
- テーブル内の除外されていない行の数を取得するには、どの JSL コードを使用しますか? これは明らかなはずです (Rows() - Excluded Rows() のようなもの) ですが、わかりません...
JMP17、macOS
質問 1 についてはよくわかりませんが、<< Add Graphic Script を使用してグラフ ビルダーの右下隅にテキストを追加するスクリプトを次に示します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
Report(gb)[FrameBox(1)] << Add Graphics Script(
included_rows = N Rows(dt) - N Items(dt << Get Excluded Rows());
Text Color("Black");
Text(Right Justified,
{X Origin() + X Range(), Y Origin()},
Eval Insert("n=^included_rows^");
);
);

そのスクリプトを、簡単に再利用できる式/関数/アドインに変換できるはずです。
ありがとう! これは、チャート自体に数字を入れるのに適しています (以下の例)。 グラフ領域の下に配置する方法はありますか?
LineupBox (または AxisBox) の右下にあるように見えますが、それらを使用するためのアプローチを取得できません。 提案?

はい、JMP 17 を使用していて、Fit Y by X プラットフォームではなく Graph Builder を使用していると仮定すると、チャート領域の下に配置する方法があります。 秘訣は、キャプション ボックスを追加し、それを軸テーブルに設定してから、1 つを除くすべてのラベルを削除してデフォルトを上書きすることです (また、すべてのラベルを表示するには、目盛りラベルを「短い分割線」に変更する必要がありました分割表にアップします)。 これはスクリプトでも実行できます。以下の例。


dt = open ("$SAMPLE_DATA\Big Class.jmp");
//Caption box as regular axis table
graph_one = dt << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :age ) ),
Elements(
Mosaic( X, Y, Legend( 6 ) ),
Caption Box(
X,
Y,
Legend( 7 ),
Summary Statistic( "N" ),
Location( "Axis Table" )
)
),
SendToReport(
Dispatch(
{},
"sex",
ScaleBox,
{Label Row( 1, Tick Mark Style( "Short Mark" ) ),
Label Row( 2, Tick Mark Style( "Short Divider" ) )}
)
)
);
//overwritten axis label with custom number (500)
graph_two = dt << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :age ) ),
Elements(
Mosaic( X, Y, Legend( 6 ) ),
Caption Box(
X,
Y,
Legend( 7 ),
Summary Statistic( "N" ),
Location( "Axis Table" )
)
),
SendToReport(
Dispatch(
{},
"sex",
ScaleBox,
{Label Row( 1, Tick Mark Style( "Short Mark" ) ),
Label Row(
2,
{Tick Mark Style( "Short Divider" ),
Tick Mark( Label( "18" ), Label( "" ) ), //<----here
Tick Mark( Label( "22" ), Label( "500" ) )} //<--here
)}
)
)
);