JMP ralentit jusqu'à l'arrêt lors de la création de nombreux graphiques à l'aide de JSLJe 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);
);
Automatisation et scriptsRe : JMP ralentit jusqu'à l'arrêt lors de la création de nombreux graphiques à l'aide de JSLJe pense que vous devez changer la ligne en surbrillance en : « rbiv << Fermer la fenêtre ; » et également la déplacer vers le bas là où vous n'en avez plus besoin, par exemple là où la flèche pointe.

"rbiv << Fermer la fenêtre ;" signifie que vous souhaitez fermer la fenêtre du rapport.

J'ai été surpris de constater que « biv << Fermer la fenêtre » fonctionne également. Mais je ne le recommande pas, du moins parce que ce comportement n'est pas documenté.
Re : JMP ralentit jusqu'à l'arrêt lors de la création de nombreux graphiques à l'aide de JSLEn plus de vous assurer que ces fenêtres se ferment correctement, en fonction de votre version de JMP, vous souhaiterez peut-être ajouter Invisible ou même Privé à votre message bivarié et également créer une table de données combinée.
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 ralentit jusqu'à l'arrêt lors de la création de nombreux graphiques à l'aide de JSLMerci. Les deux solutions/recommandations ont été efficaces, mais pour des raisons différentes.
Oui, l'erreur semble provenir d'une mauvaise utilisation de la commande biv << Fermer et non biv << Fermer la fenêtre. La commande Fermer n'a généré aucune erreur et n'a rien donné (d'où mon problème). C'est l'un des problèmes les plus frustrants avec JSL. Dans de nombreux cas, les commandes ou arguments incorrects ou inappropriés ne génèrent pas d'erreur et n'ont aucun effet. Il est donc difficile de résoudre le problème si le problème provient du script lui-même ou d'une mauvaise utilisation d'une commande.
Une fois que j'ai changé pour la commande Fermer correcte, l'emplacement incorrect dans le script est devenu évident car il a généré une erreur puisque j'en avais toujours besoin pour récupérer les estimations de paramètres.
J'apprécie vraiment l'aide....
Re : JMP ralentit jusqu'à l'arrêt lors de la création de nombreux graphiques à l'aide de JSLAvez-vous besoin du rapport d'ajustement bivarié complet ? Ou recherchez-vous uniquement les estimations de paramètres (pente et interpolation, ainsi que les écarts-types et les ratios t associés) ? Dans ce dernier cas, avez-vous essayé d'utiliser « Ajuster la courbe » plutôt que « Ajuster Y par X » ? D'après mon expérience, « Ajuster la courbe » est plus rapide et facilite la gestion d'un grand nombre de courbes.