Pregunta sobre la navegación en un árbol de visualización complejoHola. Mi pregunta es si hay una forma simple de navegar por un árbol de visualización para llegar al (x) AxisBox de un gráfico, si no se sabe si otros (y) AxisBoxes lo preceden en el árbol. Estoy considerando posiblemente usar Xpath o algún otro método. En mi script, creo una ventana para mis resultados, incluida una distribución. El usuario tiene la opción de incluir histograma, gráfico de caja de valores atípicos y/o gráfico de cuantiles normales. Ejemplo:
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;Con las 3 opciones de trazado seleccionadas como se indicó anteriormente, la estructura de árbol resultante me muestra que (y) AxisBox para el Normal Quantile Plot se titula "AxisBox(1), y (x) AxisBox se titula "AxisBox(2)". Si desactivo la opción de cuantil normal y ejecuto el script nuevamente, el (x) AxisBox ahora se titula "AxisBox (1)". Desafortunadamente, no puedo referirme a Axis Box simplemente por su nombre, además no me gusta hacer eso, ya que los nombres de los cuadros de visualización pueden cambiar. No conozco XPath lo suficientemente bien como para decirle cómo buscar solo el cuadro de eje del eje x, pero me pregunto si hay algún método como:
win << XPath("\\AxisBox() = "Xaxis");O algo parecido a eso?
Re: Pregunta sobre cómo navegar por un árbol de visualización complejogracias No sabía que podía obtener un guión de un informe. Eso abre varias puertas. Aunque todavía tengo la esperanza de que haya algún método para hacer esto a través de XPath.
Re: Pregunta sobre cómo navegar por un árbol de visualización complejoInteresante pregunta.No pude encontrar una solución directa.El Xpath parece devolver todos los cuadros de eje posibles para la plataforma, no solo los que se muestran actualmente.Sin embargo, creo que puede examinar el objeto Axis Box() para averiguar si es un cuadro de cuantil normal o el historgrama.La escala para el cuadro Cuantil normal es "Probabilidad normal". No creo que lo veas nunca si el eje es para el histograma.Pero hay otro problema... no parece haber una opción << obtener escala para el cuadro del eje... sin embargo, aparece en el script para el cuadro del eje().Así que si usted
theScript = report(dist)[AxisBox(1)] << get script;
habrás regresado
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 )}
)};
en el que puede escanear y encontrar la escala que se está utilizando.Y a partir de ahí, determine en qué AxisBox trabajar.