JMP se detiene al crear muchos gráficos con JSLEstoy trabajando en un script que creará varios gráficos, determinará un ajuste de regresión para cada uno y luego guardará todos los coeficientes de regresión en una tabla. El script realiza las acciones que necesito, pero se detiene por completo a medida que aumenta el número de columnas a evaluar. El script parece conservar en segundo plano los gráficos y los paneles generados dentro del bucle For, incluso cuando intento cerrarlos dentro del bucle (no necesito los datos de los cuadros de los gráficos o tablas individuales una vez que el gráfico se ha enviado a un diario (para exportarlo a PDF) y se han extraído los coeficientes de regresión).
Al ejecutar el script paso a paso con el depurador, este se ejecuta hasta el final y no muestra las ventanas individuales. Sin embargo, al detener el depurador (cuadrado rojo), se crean todas las ventanas individuales dentro del bucle for. El script itera sobre 600 columnas y el número correspondiente de ventanas creadas en segundo plano (configuradas como invisibles) paraliza JMP con el tiempo.
Al usar un script para iterar un conjunto de datos y realizar análisis o generar muchos gráficos, ¿cuál es la mejor manera de cerrar las ventanas, gráficos, etc. "intermedios" que se crean para minimizar la carga de memoria generada?
A continuación se muestra un fragmento parcial del script donde itero a través de las columnas.
For( i = 7, i <=ncols, i++,
biv = dt << Bivariate(
Y(Column(colList[i]) ),
X( :Temperature ),
Fit Line( {Line Color( "Medium Dark Red" )} ), invisible);
rbiv = biv << Report;
biv << Close;
rbiv[Frame Box( 1 )] << Frame Size( 550, 400 );
rbiv << Page Break;
rbiv << Journal;
dtx= Report( biv )["Parameter Estimates"][Table Box( 1 )] << make combined data table;
// dty= Report( biv )["Lack Of Fit"][Table Box( 1 )] << make combined data table;
dtSlope << Concatenate(dtx ,"Append to first table");
// dtFit << Concatenate(dty ,dtSlope, "Append to first table");
// Close(dty, NoSave);
Close(dtx, NoSave);
);
Automatización y scriptingRe: JMP se detiene al crear muchos gráficos con JSLCreo que necesitas cambiar la línea resaltada a: "rbiv << Cerrar ventana;" y también moverla hacia abajo donde ya no la necesites, por ejemplo, donde apunta la flecha.

"rbiv << Cerrar ventana;" significa que desea cerrar la ventana del informe.

Me sorprendió que "biv << Cerrar ventana;" también funcionara. Pero no lo recomiendo, al menos porque el comportamiento no está documentado.
Re: JMP se detiene al crear muchos gráficos con JSLAdemás de asegurarse de que esas ventanas se cierren correctamente, dependiendo de su versión de JMP, es posible que desee agregar Invisible o incluso Privado a su mensaje Bivariado y también crear una tabla de datos combinada.
Names Default To Here(1);
cols = {"height", "weight"};
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt_res = Empty();
For Each({colname}, cols,
// You can also use Private, it is generally faster but more dificult to debug and utilize
biv = dt << Bivariate(Y(Eval(colname)), X(:weight), Fit Line({Line Color({230, 159, 0})}), Invisible);
// this can also be made invisible/private
dt_biv = Report(biv)["Parameter Estimates"][Table Box(1)] << make combined data table(Invisible);
biv << close window;
dt_biv << Delete Scripts(dt_biv << Get Table Script Names);
// wait(0); // wait(0) isn't usually not necessary
If(Is Empty(dt_res),
dt_res = dt_biv;
dt_res << Set Name("Biv Parameter Estimates");
,
dt_res << Concatenate(
dt_biv,
"Append To First Table"
);
Close(dt_biv, no save);
);
);
dt_res << show window; // use result
Re: JMP se detiene al crear muchos gráficos con JSLGracias. Ambas soluciones/recomendaciones me ayudaron, pero por diferentes motivos.
Sí, el error parece deberse a mi uso incorrecto del comando "biv << Cerrar" y no "biv << Cerrar Ventana". El comando "Cerrar" no generó ningún error ni se apreció nada (de ahí el problema). Este puede ser uno de los problemas más frustrantes con JSL. Los comandos o argumentos incorrectos o inadecuados, en muchos casos, no generan errores y simplemente no hacen nada. Esto dificulta la resolución de problemas si el problema reside en el script en sí o en el uso incorrecto de un comando.
Una vez que cambié al comando Cerrar correcto, la ubicación incorrecta en el script se hizo evidente ya que generó un error ya que todavía lo necesitaba para obtener las estimaciones de parámetros.
Realmente agradezco la ayuda....
Re: JMP se detiene al crear muchos gráficos con JSL¿Necesita el informe completo de ajuste bivariado? ¿O solo busca estimaciones de parámetros (pendiente e intersección, junto con los errores estándar y los ratios t asociados)? En este último caso, ¿ha probado a usar "Ajustar curva" en lugar de "Ajustar Y por X"? En mi experiencia, "Ajustar curva" es más rápido y facilita la gestión de un gran número de curvas.