¿Es posible agregar la creación automática de gráficos en el script JSL?Hola,
Escribí una 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 el script en la tabla de datos', sin embargo, me preguntaba si era posible escribir esto en el script JSL principal que está generando mis tablas de datos.
Cada gráfico muestra un parámetro particular en el eje y, y el tiempo en el eje x, así que quiero escribir un código que genere gráficos en cada tabla de datos para cada parámetro, en lugar de tener que hacer los gráficos manualmente y guardar el script.
Tabla de datosScriptingRe: ¿es posible agregar la creación automática de gráficos en el script JSL?Absolutamente, puede agregar la capacidad de ejecutar una plataforma Graph Builder en JSL en su programa principal. Si ejecuta de forma interactiva el generador de gráficos que desea, puede ir al triángulo rojo y seleccionar guardar secuencia de comandos. si lo guarda en una ventana de script, podrá ver el JSL necesario para producir el gráfico. Sin más detalles sobre su guión, es bastante difícil ir más allá de mi sugerencia anterior.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 script, tendría que escribir más de 100 iteraciones del script 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 sin procesar en 22 tablas de datos de 'subconjunto 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 diferente frente al tiempo. Sin embargo, no todos los parámetros se aplican a todos los productos. Es decir, una tabla de datos en particular solo puede contener 10 de los 30 parámetros.
Re: ¿es posible agregar la creación automática de gráficos en el script JSL?Hay varias formas de hacer esto. Puede 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 script solo tendría que determinar el producto en el que está trabajando y leer en la columna de 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 @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á tratando de hacer.
Pero para comenzar, aquí hay un ejemplo que intenta hacer algo similar a lo que describió.
La función "configuración" crea algunas vistas de datos a partir del archivo de datos de muestra "CrimeData.jmp", para simular sus subconjuntos de productos y los asocia con diferentes subconjuntos de las 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 mediante un cuadro de lista V.
¡Espero que esto sea útil!
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 del eje y diferente como dijiste.
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 Setup y Build-graphs. ¡Pude adaptar estas funciones para 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 gráficas generadas usando V List Box en la función 'Build_graphs'.
Por ejemplo, a lo largo de mi script, 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?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?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 un objeto programable en el acceso o evaluación de' Enviar ', gana << / * ### * / Guardar informe de ventana ("automatic_gb2.jrp", incrustar datos (1)) / * ## # * /