¿Es posible agregar la creación automática de gráficos en el script JSL?Hola,
Escribí un JSL para organizar datos experimentales que actualiza 22 tablas de datos (correspondientes a productos), cada una de las cuales contiene columnas para diferentes parámetros fisicoquímicos (por ejemplo, pH, osmolalidad). Actualmente, estoy creando gráficos manualmente usando la función Graph Builder y 'guardando script en la tabla de datos'; sin embargo, me preguntaba si era posible escribir esto en el script JSL principal que genera mis tablas de datos.
Cada gráfico muestra un parámetro particular en el eje y y el tiempo en el eje x, por lo que quiero escribir código que genere gráficos en cada tabla de datos para cada parámetro, en lugar de tener que crear los gráficos manualmente y guardar el script.
Automatización y secuencias de comandosOrganización de contenidosCombinación y limpieza de datosLa personalización en masaRe: ¿Es posible agregar la creación automática de gráficos en el script JSL?¡Me alegra saber que está funcionando para usted! Si desea algo más interactivo, eche un vistazo a la nueva función de grafitos en JMP 15. Creo que podría ser una buena opción para sus datos. Las jerarquías implícitas permitirían buenos desgloses.Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?¡Gracias! Finalmente pude guardar los gráficos usando su script revisado.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Muy bien, consulte el adjunto para ver la versión compatible con JMP 15.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Puedo guardarlo en JMP 15 como un informe usando la interfaz de usuario "Guardar como", pero no pude descubrir cómo hacerlo usando JSL.
Es una buena pregunta para el equipo de desarrollo. ¿Estás en la Conferencia Discovery? El stand virtual "Conozca a los desarrolladores" ya está abierto y nuestros expertos de JSL están allí.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Ah, ya veo. Estoy usando JMP 15. Por lo tanto, no puedo utilizar la función Guardar ventana para informar.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Lo siento mucho, no lo comprobé. Guardar ventana para informar se introdujo en la versión 16.0.Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hola,
1) Hice un cambio en build_graphs, la primera versión no devolvía la referencia de la ventana. ¿Actualizaste el tuyo?
2) ¿Qué versión de JMP estás usando?Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hola,
Intenté usar la función 'Guardar informe de ventana', sin embargo, el script muestra el error en la imagen adjunta.Además, curiosamente, no encontré esa función en el índice de secuencias de comandos para el objeto de ventana.
El error dice lo siguiente: 'Enviar espera objeto programable en el acceso o evaluación de 'Enviar', win << /*###*/Guardar informe de ventana ("automated_gb2.jrp", embed data(1)) /*## #*/
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hola,
Sí, seguro que puedes. No sabía cómo, pero un vistazo rápido a las opciones disponibles para el objeto de ventana en el índice de secuencias de comandos me indicó la función "Guardar informe de ventana".
Por favor, vea el archivo adjunto. Corrige un error en la función build_graphs (no devolvía la referencia de la ventana) y agrega la siguiente línea al final del script:
win << Save Window Report( "automated_gb2.jrp", embed data( 1 ) );
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Gracias por compartir el script de ejemplo con las funciones Configuración y Generación de gráficos. ¡Pude adaptar estas funciones a mi script con éxito!
Me preguntaba, ¿es posible guardar la ventana del gráfico como un archivo separado en el mismo directorio que mis tablas de datos? Utilizo la función 'Cerrar' en todo mi script para guardar las diferentes tablas de datos, pero no estoy seguro de cómo usar la función para guardar las ventanas de gráficos generadas usando V List Box en la función 'Build_graphs'.
Por ejemplo, a lo largo de mi guión tengo variaciones de:
Close( dtProduct, Save( save_path_example || "dtProduct.JMP"));
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Me pregunto si es posible hacer esto usando la función 'Para cada fila', si cada fila corresponde a un parámetro diferente del eje y, como usted dijo.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hola @DanAlexander ,
yo segundo @txnelson Que consultar la Guía de secuencias de comandos JSL sería realmente útil dada la complejidad de lo que está intentando hacer.
Pero para comenzar, aquí hay un ejemplo que intenta hacer algo similar a lo que usted describió.
La función "configuración" crea algunas vistas de datos a partir del archivo de datos de muestra "CrimeData.jmp" para simular los subconjuntos de sus productos y las asocia con diferentes subconjuntos de columnas de la tabla.
"build_graphs" muestra cómo usar JSL para crear gráficos a partir de una plantilla. Es una simple cuestión de utilizar la sustitución de variables.
Los gráficos se combinan en una sola ventana utilizando un V List Box.
¡Espero que esto sea útil!
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hay varias formas de hacer esto. Podría simplemente crear una tabla de datos separada que tenga una columna para cada producto y luego colocarla en las filas para los parámetros fisicoquímicos de ese producto. Luego, su secuencia de comandos solo tendría que determinar el producto en el que está trabajando y leer de la columna en la tabla de datos de configuración los parámetros a procesar.
Si no ha leído la Guía de secuencias de comandos, ahora es el momento de hacerlo.Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Hola Jim,
Este es un ejemplo de un script de creación de gráficos en mi programa:
Graph Builder(
Size( 1263, 901 ),
Variables(
X( :Name( "Time (Months)" ) ),
Y( :Name( "% Adsorption" ) ),
Overlay( :Lot Number )
),
Elements(
Points( X, Y, Legend( 13 ) ),
Line Of Fit( X, Y, Legend( 15 ), Confidence of Fit( 0 ) )
));
Mi preocupación es que, debido al tamaño de mi secuencia de comandos, tendría que escribir más de 100 iteraciones de la secuencia de comandos anterior para cubrir todas las diferentes tablas de datos y parámetros del eje y. Me preguntaba si podría crear una lista de todos los parámetros del eje y e invocar esa lista en el script anterior.
Mi script principal básicamente clasifica una base de datos de datos sin procesar en 22 tablas de datos de 'subconjuntos de productos', cada una de las cuales es específica para un producto en particular. Hay alrededor de 30 parámetros fisicoquímicos diferentes, cada uno de los cuales debe tener un gráfico separado en función del tiempo. Sin embargo, no todos los parámetros se aplican a todos los productos. Es decir, una tabla de datos concreta sólo puede contener 10 de los 30 parámetros.
Re: ¿Es posible agregar la creación automática de gráficos en el script JSL?Por supuesto, puede agregar la capacidad de ejecutar una plataforma Graph Builder en JSL en su programa principal. Si ejecuta interactivamente el Graph Builder que desea, puede ir al triángulo rojo y seleccionar guardar script. Si lo guarda en una ventana de secuencia de comandos, podrá ver el JSL necesario para producir el gráfico. Sin más detalles sobre su script, es bastante difícil ir más allá de mi sugerencia anterior.