복잡한 디스플레이 트리 탐색에 대한 질문안녕. 내 질문은 다른 (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)"로 변경됩니다. 그래서 불행히도 단순히 이름으로 축 상자를 참조할 수 없으며 표시 상자 이름이 변경될 수 있으므로 그렇게 하는 것을 좋아하지 않습니다. x축 Axis Box만 찾는 방법을 알려줄 만큼 XPath를 잘 모르지만 다음과 같은 방법이 있는지 궁금합니다.
win << XPath("\\AxisBox() = "Xaxis");아니면 그와 비슷한 것?
Re: 복잡한 디스플레이 트리 탐색에 대한 질문고마워 텍스. 보고서에서 스크립트를 얻을 수 있는지 몰랐습니다. 그러면 여러 개의 문이 열립니다. XPath를 통해 이를 수행할 수 있는 방법이 있기를 여전히 희망하지만.
Re: 복잡한 디스플레이 트리 탐색에 대한 질문흥미로운 질문입니다.나는 직접적인 해결책을 제시할 수 없었다.Xpath는 현재 표시된 축 상자뿐만 아니라 플랫폼에 가능한 모든 축 상자를 반환하는 것 같습니다.그러나 Axis Box() 객체를 검사하여 Normal Quantile Box인지 히스토그램인지 알아낼 수 있다고 생각합니다.Normal Quantile 상자의 척도는 "Normal Probability"입니다. 축이 히스토그램에 대한 것이라면 여러분이 그것을 볼 수 있을 것이라고 믿지 않습니다.그러나 추가 문제가 있습니다 ..... 축 상자에 대한 << get scale 옵션이없는 것 같습니다 ...... 그러나 axis box()에 대한 스크립트에 표시됩니다.그래서 만약 당신이
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를 결정합니다.