JMP rallenta fino a fermarsi quando si creano molti grafici utilizzando JSLSto lavorando a uno script che creerà molti grafici, determinerà un adattamento di regressione per ciascun grafico e quindi salverà tutti i coefficienti di regressione in una tabella. Lo script esegue le azioni desiderate, ma si blocca bruscamente all'aumentare del numero di colonne da valutare. Lo script sembra mantenere in background i grafici e i riquadri generati all'interno del ciclo For anche quando provo a chiuderli all'interno del ciclo (non ho bisogno dei dati dei singoli grafici o delle singole tabelle una volta che il grafico è stato inviato a una rivista (per l'esportazione in PDF) e i coefficienti di regressione sono stati estratti).
Quando eseguo lo script passo passo usando il debugger, lo script viene eseguito fino alla fine e non mostra le singole finestre, ma quando interrompo il debugger (quadrato rosso) vengono create tutte le singole finestre all'interno del ciclo for. Lo script esegue un'iterazione di oltre 600 colonne e il numero corrispondente di finestre create in background (impostate come invisibili) porta JMP a un arresto improvviso nel tempo.
Quando si utilizza uno script per scorrere un set di dati per eseguire analisi o generare numerosi grafici, qual è il modo migliore per chiudere le finestre "intermedie", i grafici, ecc. che vengono creati in modo da ridurre al minimo il carico di memoria generato?
Di seguito è riportato un frammento parziale dello script in cui sfoglio le colonne.
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);
);
Automazione e scriptingR: JMP rallenta fino a fermarsi quando si creano molti grafici usando JSLPenso che dovresti modificare la riga evidenziata in: "rbiv << Chiudi finestra;" e spostarla dove non ti serve più, ad esempio dove punta la freccia.

"rbiv << Chiudi finestra;" significa che si desidera chiudere la finestra del report.

Mi ha sorpreso che anche "biv << Chiudi finestra;" funzioni. Ma non lo consiglio, almeno perché il comportamento non è documentato.
R: JMP rallenta fino a fermarsi quando si creano molti grafici usando JSLOltre a garantire che le finestre vengano chiuse correttamente, a seconda della versione di JMP, potresti voler aggiungere Invisibile o addirittura Privato al tuo messaggio bivariato e anche creare una tabella di dati combinata
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
R: JMP rallenta fino a fermarsi quando si creano molti grafici usando JSLGrazie. Entrambe le soluzioni/raccomandazioni sono state utili, ma per motivi diversi.
Sì, l'errore sembra essere dovuto all'uso errato del comando biv << Chiudi e non biv << Chiudi finestra. Il comando Chiudi non ha generato alcun errore né è apparso nulla (da qui il mio problema). Questo può essere uno dei problemi più frustranti con JSL. Comandi o argomenti non corretti o appropriati in molti casi non generano errori e non fanno nulla. Questo rende difficile la risoluzione dei problemi se il problema è lo script stesso o un uso errato di un comando.
Dopo aver impostato il comando Chiudi corretto, la posizione errata nello script è diventata ovvia, poiché generava un errore poiché ne avevo ancora bisogno per acquisire le stime dei parametri.
Apprezzo davvero l'aiuto....
R: JMP rallenta fino a fermarsi quando si creano molti grafici usando JSLHai bisogno del report completo di adattamento bivariato? O stai cercando solo le stime dei parametri (pendenza e intercetta, insieme agli errori standard e ai rapporti t associati)? In quest'ultimo caso, hai provato a usare "Adattamento curva" invece di "Adattamento Y per X"? Nella mia esperienza, "Adattamento curva" è più veloce e semplifica la gestione di un gran numero di curve.