Cómo hacer referencia dinámicamente al eje y de un cuadro de escala en Graph Builder usando JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />O en cualquier lugar, de hecho.
Estoy escribiendo una función que genera algunos gráficos especializados para el trabajo. Estoy haciendo algunos dibujos adicionales en el lienzo y necesito que el gráfico se reajuste en el eje y para que quepa todo. Puedo lograr esto obteniendo el máximo y el mínimo de cada punto que estoy trazando y estableciendo esos (+/- 5%) como mis límites superior e inferior. Sin embargo, para que los cambios surtan efecto necesito llamar a la etiqueta del eje. Probé con números de índice. Intenté almacenar el nombre como una variable y llamar a la variable. Ninguno de mis intentos parece funcionar y la documentación no es completa sobre este tema.
Ejemplo:
Dentro del generador de gráficos y enviar al informe tengo:
| | Despacho({}, |
| | | "El nombre del eje", |
| | | caja de escala, |
| | | {Formato( "Dic fijo", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), ticks menores( 1 )} |
| | ), |
Para que esto funcione en una función, actualmente tengo que codificar el nombre. Me gustaría que se actualice dinámicamente sin importar qué gráfico esté trazando.
Algo en el sentido de
| | Despacho({}, | |
| | | eje Y, |
| | | caja de escala, |
| | | {Formato( "Dic fijo", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), ticks menores( 1 )} |
| | ), | |
Es lo que estoy buscando.
Re: Cómo hacer referencia dinámicamente al eje y de un cuadro de escala en Graph Builder usando JSLComo continuación del ejemplo de Jim, puede utilizar XPath() para obtener una lista de todos los AxisBoxes en el informe.Luego, puede recorrer la lista realizando los cambios deseados según corresponda.A continuación se demuestra XPath() y luego simplemente selecciona cada eje en un bucle For.
/* Obtener una lista de todos los AxisBoxes en el informe */
gbEje = Informe ( gb ) << XPath ( "//Caja de ejes" ) ;
/* Recorre cada uno para ver a qué eje hace referencia cada uno */
Para ( i = 1 , i <= N artículos ( gbEje ) , i ++,
gbEje [ i ] << Seleccionar ;
Esperar ( 1 ) ;
) ;
¡Espero que esto ayude!
wendy
Re: Cómo hacer referencia dinámicamente al eje y de un cuadro de escala en Graph Builder usando JSLEsto resolvió perfectamente mi problema. Gracias Jim. Mi función aún es un trabajo en progreso con respecto a hacerla lo suficientemente genérica para compartirla, pero una vez que la descubra, la publicaré aquí en la comunidad JMP una vez que la haya hecho lo suficientemente genérica.
Para cualquiera que se lo pregunte, creo que mi problema es que estaba intentando hacer referencia al informe dentro del informe, antes de que se generara por completo (aunque es posible que me equivoque en ese punto).
Re: Cómo hacer referencia dinámicamente al eje y de un cuadro de escala en Graph Builder usando JSLPlantea una pregunta interesante sobre la identificación de ejes en Graph Builder.He echado un vistazo a la estructura de ejes que utiliza Graph Builder y parece tener una organización que se puede utilizar.

El gráfico anterior de Graph Builder tiene un eje Y y varios ejes X.La estructura de los gráficos que probé siempre usaba el eje 1 como primer eje X y el eje 2 y el primer eje Y.Entonces, al usar el siguiente código, incluso cuando se cambió el tipo de gráfico, el número de eje permaneció igual.
Nombres predeterminados aquí ( 1 ) ;
dt = abierto ( "$SAMPLE_DATA/capacidad de semiconductores.jmp" ) ;
gb = Generador de gráficos(
Tamaño( 593 , 526 ) ,
Mostrar panel de control( 0 ) ,
Variables( X( : PNP1 ) , Y ( : NPN1 ) , Grupo X( : SITIO ) ) ,
Elementos( Puntos( X , Y , Leyenda( 5 ) ) , Más suave( X , Y , Leyenda( 6 ) ) )
) ;
informe (gb)[Cuadro de eje( 1 )] << mín. ( 150 ) ;
La referencia del cuadro de eje (2) cambiaría el eje Y.
También hay cuadros de ejes 3,4,5 y 6, que son los otros 5 ejes X que se muestran.

Este ejemplo ha agregado una segunda variable al eje Y; sin embargo, el cuadro del eje (1) sigue siendo el primer eje X, el cuadro del eje (2) es el eje Y para la columna superior, "PNP4", mientras que el cuadro del eje ( 3) es el eje Y de la columna "NPN1".
Nombres predeterminados aquí ( 1 ) ;
dt = abierto ( "$SAMPLE_DATA/capacidad de semiconductores.jmp" ) ;
ES = Generador de gráficos (
Tamaño( 593 , 526 ) ,
Mostrar panel de control( 0 ) ,
Variables( X( : PNP1 ) , Y ( : PNP4 ) , Y( : NPN1 ) , Grupo X( : SITIO ) )) ;
Si hace clic con el mouse en el Triángulo de expansión gris y seleccione
Editar==>Mostrar estructura de árbol
Debería poder determinar la estructura del cuadro de eje para los gráficos que está utilizando y podrá determinar mediante programación cómo hacer referencia al cuadro de eje correcto.
Re: Cómo referenciar dinámicamente el eje y de un cuadro de escala en Graph Builder usando JSLDespués de tener acceso a los objetos de eje individuales, la siguiente tarea es descubrir qué eje pertenece a qué "eje".
¿El primer eje es el eje x o el eje y?
¿Y qué hay de los demás tipos de gráficos? ¿Se aplica la misma lógica a las cajas del Constructor de Gráficos y a las cajas de gráficos ?
Por favor, eche un vistazo a este deseo:
Facilitar la obtención de resultados de los informes mediante JSL
Además de obtener resultados del informe , también se podría simplificar la forma de ajustar un informe.
El comando Despacho está bien equipado: uno puede usar directamente información como "Título X" para controlar a dónde se envía el mensaje:
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "xxx" )} ) )
Para XPath , esto aún no parece ser posible...