グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?次のスクリプトは、グラフ ビルダーのページ オプションを使用していくつかのグラフをプロットします。各グラフに水平参照線 (たとえば、重量 = 80Kg) を設定し、JSL を使用してラベル (80kg) を付けるにはどうすればよいでしょうか。
(プロットされたチャートの数が変わっても、参照線は残る必要があります)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);自動化とスクリプトウィンドウズRe: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);
axis = gb << XPath( "//AxisBox" );
Summarize( page = By( :age ) );
axis[2::(2*NItems( page ))::2] << Add Ref Line( 80, "Solid", "Red", "Reference" );Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?@Mark_Bailey以下のようにプロット後に Age でローカル データ フィルターを呼び出すと、私の環境では動作しなくなります (JMP 16.2)

Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?最も簡単な方法は、各行に同じ値を持つ新しい列をデータテーブルに追加し、それをグラフに追加することです。これはフィルターで機能します。
Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?@jthiあなたの提案はうまくいきますが、ライン ラベルを右側にしたいです。ライン ラベルの位置を変更する方法はありますか?
Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?最近は主に JMP18 を使用しているため (JMP17 も少し混ざっています)、JMP16 でどのオプションが利用できるかは覚えていません。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Ref", Numeric, Continuous, Set Each Value(80));
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Y(:Ref, Position(1)), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16)),
Line(Y(2), Legend(17))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
17,
Level Name(0, "Ref", Item ID("Mean(Ref)", 1)),
Properties(
0,
{Line Label Properties(
{Name Label(1), Name Label Position("Last")}
)},
Item ID("Mean(Ref)", 1)
)
)}
)
)
);
Write();

Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?データテーブルを変更する必要はありません。
軸設定を複製する
Link Page Axes( "Y Only" )
参照線もコピーします。
例えば
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Link Page Axes( "Y Only" ),
Variables( X( :height ), Y( :weight ), Page( :sex ), Overlay( :sex ) ),
Elements( Points( X, Y), Smoother( X, Y) ),
SendToReport(
Dispatch( {}, "weight", ScaleBox,
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
)
);

Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?これもオプションですが、Page の利点の 1 つである、異なる「ページ」ごとに異なる軸スケーリングを利用できなくなるという問題があります。ここでは問題にならない可能性があり、むしろ利点になる可能性もあります。
Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?@jthiありがとう。
Name Label Position("Last")JMP 16.2 では利用できない/動作しないようです。
@hogiページ オプションを選択した理由は、異なる y 軸のスケーリングを取得できるようにするためです。これを行う方法は他にもあると思いますが、ページ オプションが最も簡単なようです。
Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?その場合は、マークのソリューションに戻って、フィルター変更ハンドラーを使用する必要があります。このオプションを使用した場合の JMP16 の制限については、ここでもわかりません。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
)
);
add_reflines = EvalExpr(
axis = Expr(gb) << XPath("//AxisBox");
axis[2::N Items(axis)::2] << Add Ref Line(80, "Solid", "Red", "Reference", 1, 1, Label Settings({Opposite Axis(1)}));
);
f = Function({a}, add_reflines);
ldf = (Report(gb) << top parent)[OutlineBox("Local Data Filter")] << Get Scriptable Object;
rs = ldf << Make Filter Change Handler(f);
add_reflines;
Write();
これはこれを行うための最も堅牢なオプションではありませんが、かなり単純なオプションです。
Re: グラフ ビルダーのページ オプションを使用して各ページに参照線を設定するにはどうすればよいでしょうか?グラフィックスクリプトも選択肢になるかもしれない
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
)
);
(Report(gb) << XPath("//FrameBox")) << Add Graphics Script(
Pen Color("Red");
Text Color("red");
Text(Right Justified, {X Origin() + X Range(), 80}, "Reference");
H Line(80);
);
gb << Local Data Filter(
Add Filter(
columns(:age),
Display(:age, N Items(6))
)
);
Write();