Je travaille sur un script qui créera de nombreux graphiques, déterminera un ajustement de régression pour chaque graphique, puis enregistrera tous les coefficients de régression dans un tableau. Le script exécute les actions souhaitées, mais s'arrête brutalement lorsque le nombre de colonnes à évaluer augmente. Il semble conserver en arrière-plan les tracés et les panneaux générés dans la boucle For, même lorsque j'essaie de les fermer dans la boucle (je n'ai plus besoin des données des graphiques ou des tableaux individuels une fois le tracé envoyé à un journal (pour exportation au format PDF) et les coefficients de régression extraits).
Lorsque j'exécute le script pas à pas avec le débogueur, il s'exécute jusqu'à la fin et n'affiche pas les fenêtres individuelles. Cependant, lorsque j'arrête le débogueur (carré rouge), toutes les fenêtres individuelles de la boucle for sont créées. Le script parcourt plus de 600 colonnes et le nombre correspondant de fenêtres créées en arrière-plan (définies comme invisibles) entraîne l'arrêt brutal de JMP au fil du temps.
Lors de l'utilisation d'un script pour parcourir un ensemble de données afin d'effectuer une analyse ou de générer de nombreux graphiques, quelle est la meilleure façon de fermer les fenêtres « intermédiaires », les tracés, etc. créés afin de minimiser la charge mémoire générée ?
Vous trouverez ci-dessous un extrait partiel du script dans lequel je parcours les colonnes.
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);
);