Question sur la navigation dans une arborescence d'affichage complexeSalut. Ma question est de savoir s'il existe un moyen simple de naviguer dans un arbre d'affichage pour accéder à l'AxisBox (x) d'un tracé, s'il est inconnu si d'autres AxisBox (y) le précèdent dans l'arbre. J'envisage éventuellement d'utiliser Xpath ou une autre méthode. Dans mon script, je crée une fenêtre pour mes résultats, y compris une distribution. L'utilisateur a la possibilité d'inclure un histogramme, une boîte à moustaches aberrante et/ou un diagramme quantile normal. Exemple:
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;Avec les 3 options de tracé sélectionnées comme ci-dessus, la structure arborescente résultante me montre que l'AxisBox (y) pour le tracé quantile normal est intitulé "AxisBox(1) et que l'AxisBox (x) est intitulé "AxisBox(2)". Si je désactive l'option quantile normal et exécute à nouveau le script, le (x) AxisBox est maintenant intitulé "AxisBox(1)". Donc, malheureusement, je ne peux pas faire référence à l'Axis Box simplement par son nom, et je n'aime pas faire cela car les noms des boîtes d'affichage peuvent changer. Je ne connais pas suffisamment XPath pour lui dire comment rechercher uniquement la boîte de l'axe des x, mais je me demande s'il existe une méthode telle que:
win << XPath("\\AxisBox() = "Xaxis");Ou quelque chose qui ressemble à ça ?
Re : Question sur la navigation dans une arborescence d'affichage complexeMerci Tex. Je ne savais pas que vous pouviez obtenir un script à partir d'un rapport. Cela ouvre plusieurs portes. Bien que j'aie toujours l'espoir qu'il y ait une méthode pour le faire via XPath.
Re : Question sur la navigation dans une arborescence d'affichage complexeQuestion interessante.Je n'ai pas été en mesure de trouver une solution simple.Le Xpath semble renvoyer toutes les boîtes d'axes possibles pour la plate-forme, pas seulement celles actuellement affichées.Cependant, je pense que vous pouvez examiner l'objet Axis Box() pour savoir s'il s'agit d'une boîte quantile normale ou de l'histogramme.L'échelle de la boîte de quantile normal est "Probabilité normale". Je ne pense pas que vous verrez jamais cela si l'axe est pour l'histogramme.Mais il y a un autre problème ..... il ne semble pas y avoir d'option << get scale pour la boîte d'axe ...... cependant, elle apparaît dans le script de la boîte d'axe ().Donc si vous
theScript = report(dist)[AxisBox(1)] << get script;
tu auras retourné
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 )}
)};
dans lequel vous pouvez scanner et trouver l'échelle utilisée.Et à partir de là, déterminez sur quel AxisBox travailler.