複雑な表示ツリーのナビゲートに関する質問やあ。 私の質問は、他の(y)AxisBoxがツリー内で先行しているかどうかが不明な場合に、表示ツリーをナビゲートしてプロットの(x)AxisBoxに到達する簡単な方法があるかどうかです。 Xpathまたは他の方法を使用することを検討しています。 スクリプトでは、分布を含む結果のウィンドウを作成します。 ユーザーは、ヒストグラム、外れ値箱ひげ図、および/または正規分位数プロットを含めるオプションがあります。 例:
Names Default to Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//User controllable options to plot histogram, outlier box plot, or normal quantile plot
histopt = 1;
outlopt = 1;
nqplopt = 1;
//Make results window
Try(Window("My Window") << Close Window);
win = New Window("My Window",
TextBox("Important text info"),
LUB = LineUpBox(NCol(1), Spacing(10,10))
);
//Add distribution to it.
Eval(EvalExpr(
LUB << Append(
dist = Distribution(
Column("Height"),
Histogram(Expr(histopt)),
Outlier Box Plot(Expr(outlopt)),
Normal Quantile Plot(Expr(nqplopt)),
Capability Analysis(0),
Quantiles(0),
Vertical(0),
Stack(0),
Automatic Recalc(0)
);
);
));
win << Show Tree Structure;上記のように3つのプロットオプションをすべて選択すると、結果のツリー構造は、正規分位数プロットの(y)AxisBoxのタイトルが「AxisBox(1)」であり、(x)AxisBoxのタイトルが「AxisBox(2)」であることを示しています。 通常の変位値オプションをオフにしてスクリプトを再度実行すると、(x)AxisBoxのタイトルは「AxisBox(1)」になります。 そのため、残念ながら、Axis Boxを名前だけで参照することはできません。さらに、表示ボックスの名前が変わる可能性があるため、そうするのは好きではありません。 XPathを十分に理解していないため、x軸の軸ボックスのみを検索する方法を説明できませんが、次のような方法があるかどうか疑問に思っています。
win << XPath("\\AxisBox() = "Xaxis");またはそれに似た何か?
Re:複雑な表示ツリーのナビゲートに関する質問Texに感謝します。 レポートからスクリプトを取得できるとは知りませんでした。 それはいくつかの扉を開きます。 XPathを介してこれを行う方法があることを私はまだ望んでいますが。
Re:複雑な表示ツリーのナビゲートに関する質問興味深い質問です。私は簡単な解決策を思い付くことができませんでした。Xpathは、現在表示されているものだけでなく、プラットフォームで可能なすべての軸ボックスを返すようです。ただし、Axis Box()オブジェクトを調べて、それが通常の分位数ボックスなのか、ヒストリグラムなのかを確認できると思います。[正規分位数]ボックスのスケールは「正規確率」です。軸がヒストグラム用である場合、これが表示されることはないと思います。しかし、さらに問題があります.....軸ボックスの<< get scaleオプションがないようです......ただし、軸ボックス()のスクリプトに表示されます。だからあなたが
theScript = report(dist)[AxisBox(1)] << get script;
あなたは戻ってきます
Report( dist )[axisbox( 1 )] << get script = {Scale( "Normal Probability" ), Format( "Best" ),
Min( 0.0195121951219512 ), Max( 0.980487804878049 ), Interval( "Numeric" ), Inc( 0.1 ), Minor Ticks( 0 ),
Label Row Nesting( 1 ), Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ), Inside Ticks( 0 ), Label Alignment( "Near" ),
Label Buffer Scale( 1 ), Label Orientation( "Horizontal" ), Lax Label Range( 0 ),
Major Grid Line Color( -14145495 ), Minimum Depth( 0 ), Minimum Font Size( 7 ),
Minor Grid Line Color( -15790320 ), Show Major Grid( 1 ), Show Major Labels( 1 ), Show Major Ticks( 1 ),
Show Minor Grid( 0 ), Show Minor Labels( 0 ), Show Minor Ticks( 1 ), Tick Offset( 0 ), Wrap Lines( 0 )}
)};
スキャンして、使用されているスケールを見つけることができます。そしてそこから、どのAxisBoxで作業するかを決定します。