Esiste un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Salve, mi ritrovo spesso a salvare alcuni script che utilizzavano la stessa applicazione (es. Graph builder) in un datatable. Quando esegui questi script, il titolo della finestra del grafico sarà automaticamente "Datatable - generatore di grafici".
Quando vengono eseguiti più script, ciò crea la situazione di avere finestre aperte con i titoli "Generatore grafico 2", "Generatore grafico 3" e perdo traccia di quale script ha generato quale finestra.
Ho utilizzato un codice attorno al mio script come nell'esempio seguente, tuttavia quando apporto alcune modifiche non posso semplicemente eseguire l'opzione "salva script in datatable" senza sovrascrivere questa convenzione di denominazione.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )
Esempio: lo script apre una finestra con il titolo generico di "Generatore di grafici".

GraficaSceneggiaturaRi: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Se la tua domanda è "come faccio a salvare uno script nella tabella dati con un nome specificato?" Allora penso di avere una risposta per te.
dt=current data table();
obj=dt<<GRAPH builder=""> , < <<PROMPT>, < <<REPLACE> );
obj << Save Script to Data Table("New GB");</REPLACE></PROMPT></GRAPH>
...ma non sono sicuro che fosse quello che stavi chiedendo?
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Ciao Byron, non era quello che stavo chiedendo. Sto cercando il nome della finestra che viene aperta per avere il nome dello script. Come ho detto, posso farlo una volta aggiungendo il codice sottostante attorno al mio script. Ma il mio problema è che non posso modificare i miei grafici (ad esempio cambiare assi e elementi visivi) senza dover copiare/incollare il nuovo script del grafico nel mio script datatable.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )

Ho appena provato un metodo per creare un secondo script che esegue lo script del generatore di grafici e cambia il nome della finestra. Questo è fondamentalmente quello che voglio perché posso apportare modifiche al grafico e "salvare in datatable" di nuovo, sovrascrivendo il mio grafico originale. Non ho più bisogno di copia/incolla. Vedi "big class 2.jmp" negli allegati, eseguirei semplicemente lo script "run myGraph1". Sarebbe bello, ovviamente, se non avessi bisogno del secondo script per avviare il mio script grafico.
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?E 'questo quello che stai cercando?
w << get window title()
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Cosa succede se invece di cambiare il titolo della finestra hai semplicemente cambiato il nome della casella di contorno in quella finestra?Puoi farlo facendo doppio clic sul nome e questo viene mantenuto nello script salvato.

Una barra laterale: questo potrebbe allontanarsi dal modificare i grafici senza copiare/incollare, ma se hai un mucchio di grafici che guardi spesso per un set di dati, potresti prendere in considerazione la creazione di una dashboard o finestra che li contenga tutti, con alcuni titoli e testo per dare ogni contesto.
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Suppongo che il comportamento con cui sto lottando possa essere aggirato utilizzando davvero un dashboard. Cercherò di adattare il mio modo di lavorare in JMP.
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Sulla base del feedback in questo thread, concludo che non esiste un modo semplice per farlo in JMP.
Ri: C'è un modo semplice per aprire un grafico generato dallo script con il nome dello script come titolo?Spero di aver capito quello che chiedi. Questo script illustra un modo che potrebbe funzionare. La prima parte è solo un modo per avere alcuni aperti (tabella dati e Generatore di grafici) per cui il resto dello script deve funzionare. Questa è la parte che potresti usare con i tuoi oggetti Graph Builder aperti. Puoi salvare questo script come componente aggiuntivo, quindi è solo questione di selezionare un comando di menu quando vuoi usarlo.
Names Default to Here( 1 );
// example of Graph Builder
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
// now the script to save table script with desired name
// ask user for name of script
dialog = New Window( "Name of Script", << Modal,
Panel Box( "Script Name",
Line Up Box( N Col( 2 ),
Text Box( "Name:" ),
teb = Text Edit Box( "Graph Builder Script" )
),
H List Box(
Button Box( "OK",
name = teb << Get Text;
),
Button Box( "Cancel" )
)
)
);
If( dialog["Button"] == -1, Throw( "User cancelled" ) );
// save script for current instance of Graph Builder
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Graph Builder" ),
Break();
);
);
obj = window[i]["Graph Builder"] << Get Scriptable Object;
obj << Save Script to Data Table( name, << Prompt( 0 ), << Replace( 1 ) );
// update table script
script = dt << Get Property( name );
Eval(
Substitute(
Expr(
dt << Set Property( nnn,
w = sss;
w << Set Window Title( nnn )
)
),
Expr( sss ), Name Expr( script ),
Expr( nnn ), name
)
);Ri: Esiste un modo semplice per aprire un grafico generato da script con il nome dello script come titolo?Se volessi eseguire qualcosa di simile per una trama unidirezionale, come posso modificarlo? La sostituzione di "Graph Builder" con "Oneway" non sembra funzionare.
Ri: Esiste un modo semplice per aprire un grafico generato da script con il nome dello script come titolo?Con l'aiuto di un collega (grazie Andrew!), siamo arrivati a questo.
clear Globals();
Delete Symbols();
// save script for current instance of Fit Group
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Fit Y by X" ),
obj = window[i]["Fit Group?"] << Get Scriptable Object;
Show(obj);
obj << Save Script for All Objects;
Break();
);
);
Può essere adattato per acquisire lo script per qualsiasi tipo di grafico sostituendo gli elementi tra virgolette. La possibilità di utilizzare un ? come carattere jolly in una matrice non ha prezzo.