Frage zum Navigieren in einem komplexen AnzeigebaumHi. Meine Frage ist, ob es eine einfache Möglichkeit gibt, in einem Anzeigebaum zu navigieren, um zur (x) AxisBox eines Diagramms zu gelangen, wenn nicht bekannt ist, ob andere (y) AxisBoxes im Baum vorangehen. Ich erwäge möglicherweise die Verwendung von Xpath oder einer anderen Methode. In meinem Skript erstelle ich ein Fenster für meine Ergebnisse, einschließlich einer Verteilung. Der Benutzer hat die Möglichkeit, ein Histogramm, einen Ausreißer-Box-Plot und/oder einen normalen Quantil-Plot einzuschließen. Beispiel:
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;Wenn alle 3 Diagrammoptionen wie oben ausgewählt sind, zeigt mir die resultierende Baumstruktur, dass die (y) AxisBox für das Normal Quantile Plot den Titel „AxisBox(1)“ und die (x) AxisBox den Titel „AxisBox(2)“ trägt. Wenn ich die normale Quantil-Option ausschalte und das Skript erneut ausführe, heißt die (x) AxisBox jetzt "AxisBox(1)". Leider kann ich die Axis Box nicht einfach mit ihrem Namen bezeichnen, außerdem mache ich das nicht gerne, da sich die Namen der Anzeigeboxen ändern können. Ich kenne XPath nicht gut genug, um ihm zu sagen, wie es nur nach x-axis Axis Box suchen soll, aber ich frage mich, ob es eine Methode gibt wie:
win << XPath("\\AxisBox() = "Xaxis");Oder so ähnlich?
Betreff: Frage zum Navigieren in einem komplexen AnzeigebaumDanke Tex. Mir war nicht bewusst, dass Sie ein Skript aus einem Bericht erhalten können. Das öffnet mehrere Türen. Obwohl ich immer noch hoffe, dass es eine Methode gibt, dies über XPath zu tun.
Betreff: Frage zum Navigieren in einem komplexen AnzeigebaumInteressante Frage.Eine direkte Lösung konnte ich nicht finden.Der Xpath scheint alle für die Plattform möglichen Achsenfelder zurückzugeben, nicht nur die aktuell angezeigten.Ich denke jedoch, dass Sie das Objekt Axis Box() untersuchen können, um herauszufinden, ob es sich um eine Normal Quantile Box oder das Histogramm handelt.Die Skala für das Normal-Quantil-Feld ist "Normale Wahrscheinlichkeit". Ich glaube nicht, dass Sie das jemals sehen werden, wenn die Achse für das Histogramm ist.Aber es gibt noch ein weiteres Problem ... es scheint keine << Get Scale-Option für das Achsenfeld zu geben ... es taucht jedoch im Skript für das Achsenfeld () auf.Also wenn du
theScript = report(dist)[AxisBox(1)] << get script;
du wirst zurückgekehrt sein
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 )}
)};
in dem Sie die verwendete Waage scannen und finden können.Bestimmen Sie von dort aus, an welcher AxisBox gearbeitet werden soll.