Ri: Evita le ripetizioni nello script, Graph Builder in particolareEssere in grado di scrivere le tue funzioni potrebbe essere utile per te. Vedi questo da @Craige_Hales nel ricettario JSL:
https://community.jmp.com/t5/JSL-Cookbook/Write-Your-Own-Functions/ta-p/49052
Ri: Evita le ripetizioni nello script, Graph Builder in particolareQuesto è un approccio che potrebbe aiutare:
Inserisci il codice comune in stringhe separate. Se ci sono molte virgolette doppie, usa i costrutti \ [e] \ per leggibilità.
Assemblare il codice del generatore di grafici (A || B || C ecc.) Ed eseguire usando eval (parse ()).
Ecco un semplice esempio con una stringa comune per due grafici.
dt = open("$sample_data\Airline Delays.jmp");
common_str =
"dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Elapsed Time ), Y( :Distance ), Overlay( :Airline ) ),";
gb1_str = evalinsert(
"gb1 = ^common_str^
Elements( Area( X, Y, Legend( 21 ) ) )
)");
gb2_str = evalinsert(
"gb2 = ^common_str^
Elements( Points( X, Y, Legend( 11 ) ) )
)");
eval(parse(gb1_str));
eval(parse(gb2_str));
Ri: Evita le ripetizioni nello script, Graph Builder in particolareGrazie! Questo è un ottimo esempio e soluzione!Ri: Evita le ripetizioni nello script, Graph Builder in particolareGrazie!
Evita le ripetizioni nello script, Graph Builder in particolareCiao,
Ho una sceneggiatura per riprodurre i grafici di Graph Builder. Tre file di script, ognuno dovrebbe riprodurre gli output del generatore di grafici per 15 variabili diverse. Fondamentalmente, ho usato Graph Builder per tracciare i dati nel modo desiderato, salvando lo script e ripetendolo per le successive 14 variabili. Di conseguenza, ho smth in questo modo:
// il primo file di script dt = currentdatatable (); obj1 = dt << graphBuilder (); obj2 = dt << graphBuilder (); ... obj15 = dt << graphBuilder (); // Preoccupazione: ripetizione di parti grandi nel codice di ogni oggettoVoglio mantenere le impostazioni delle caratteristiche di Graph Bulder per tutti gli oggetti (15 in totale), ma evitare ripetizioni all'interno del codice (alcuni esempi di seguito). Esiste un modo per definire tali parti del codice all'inizio dello script (o in un file separato (perché ho altri file di script che utilizzano le stesse parti del codice) e chiamarlo mentre eseguo il codice) e usare quelle come le variabili all'interno del codice per rendere il codice più semplice, più breve? In questo modo è efficace anche se voglio apportare alcune modifiche. L'altra domanda: qualche suggerimento su come potrei migliorare le mie capacità di scripting?
Grazie mille.
Esempi:
Invio ({}, "400", LegendBox, {Imposta titolo (""), font ("Segoe UI", 11, "Plain"), Posizione legenda ({8, [1, 5, 9, 3, 6, 11], 9, [0, 4, 8], 10, [2, 7, 10]}), Posizione ({1, 5, 9, 3, 6, 11, 0, 4, 8, 2, 7, 10})})o
Spedizione ({}, "400", ScaleBox, {Modello legenda (8, Nome livello (0, "Media 3 variabili", ID articolo ("3", 1)), Nome livello (1, "Media 5 variabile", ID articolo ("5", 1)), Nome livello (2, "Media 6 variabili", ID articolo ("6", 1)), Nome livello (3, "Deviazione standard 3 variabile", ID articolo ("3 ", 2)), Nome livello (4," Deviazione standard 5 variabile ", ID articolo (" 5 ", 2)), Nome livello (5," Deviazione standard 6 variabile ", ID articolo (" 6 ", 2) ), Base (0, 0, 0, ID articolo ("3", 1)), Base (1, 0, 1, ID articolo ("5", 1)), Base (2, 0, 2, ID articolo ("6", 1)), Base (3, 0, 0, ID articolo ("3", 2)), Base (4, 0, 0, ID articolo ("5", 2)), Base (5 , 0, 0, ID oggetto ("6", 2)), Proprietà (0, {Colore linea (53), Larghezza linea (4), Pennarello ("FilledCircle"), Dimensione marcatore (6), gradiente ({Scala Valori ([0 1]), Larghezza (9), N Etichette (6)})}, ID oggetto ("3", 1)), Proprietà (1, {Colore linea (56), Larghezza linea (4), Marker ("FilledCircle"), Marker Size (6), gradiente ({Scale Values ([0 1]), Width (9), N Labels (6)})}, Item ID (" 5 ", 1)), Proprietà (2, {Colore linea (38), Larghezza linea (4), Marcatore (" FilledCircle "), Dimensione marcatore (6), gradiente ({Valori scala ([0 1]), Larghezza (9), N etichette (6)})}, ID oggetto ("6", 1)), Proprietà (3, {Colore linea (53), Spessore linea (4)}, ID articolo ("3", 2 )), Proprietà (4, {Colore linea (56), Larghezza linea (4)}, ID oggetto ("5", 2)), Proprietà (5, {Colore linea (38), Larghezza linea (4)}, ID oggetto ("6", 2)), Proprietà (-1, {Colore linea (13), Larghezza linea (4), Marcatore ("FilledCircle"), Dimensione marcatore (6), gradiente ({Scale Values ([0 1]), Larghezza (9), N etichette (6)})}, ID articolo ("4", 1)), Proprietà (-1, {Colore linea (13), Larghezza linea (4)}, ID articolo ("4", 2)), Base (-1, 0, 1, ID oggetto ("5", 1)), Nome livello (-1, "Media", ID articolo ("Media", 1)), Base (-1, 0, 0, ID oggetto ("Deviazione standard", 1)), Proprietà (-1, {Colore linea (3), Pennarello ("FilledCircle"), Dimensione marcatore (6), gradiente ({Scala Valori ([0 1]), Larghezza (9), N Etichette (6)})}, ID oggetto ("Mean", 1)), Proprietà (-1, {Riga Co lor (1), Larghezza linea (4)}, ID oggetto ("Deviazione standard", 1)), Base (-1, 0, 0, ID articolo ("Intervallo di confidenza al 95%", 1)), Proprietà (- 1, {Colore linea (32), Larghezza linea (2), gradiente ({Valori scala ([0 1]), Larghezza (9), N etichette (6)})}, ID oggetto ("Intervallo di confidenza al 95%" , 1))), Modello legenda (9, Nome livello (0, "Valori individuali 3 variabili", ID articolo ("3", 1)), Nome livello (1, "Valori individuali 5 variabili", ID articolo (" 5 ", 1)), Nome livello (2," Variabile 6 valori individuali ", ID articolo (" 6 ", 1)), Base (0, 0, 0, ID articolo (" 3 ", 1)), Base (1, 0, 1, ID articolo ("5", 1)), Base (2, 0, 2, ID articolo ("6", 1)), Proprietà (0, {Colore linea (37), Larghezza linea (4)}, ID oggetto ("3", 1)), Proprietà (1, {Colore linea (40), Larghezza linea (4)}, ID articolo ("5", 1)), Proprietà (2, { Colore linea (38), Larghezza linea (4)}, ID articolo ("6", 1)), Nome livello (-1, "Valori individuali 4 variabili", ID articolo ("4", 1)), Base ( -1, 0, 0, ID oggetto ("4", 1)), Proprietà (-1, {Colore linea (42), Larghezza linea (4)}, Articolo I D ("4", 1)), Nome livello (-1, "Valori individuali", ID articolo ("Variabile principale", 1)), Proprietà (-1, {Colore linea (5)}, ID articolo ( "Variabile principale", 1)), Proprietà (-1, {Colore linea (5), gradiente ({Valori scala ([0 1]), Larghezza (9), N etichette (6)})}, ID articolo ("Variabile principale", 1))), Modello legenda (10, Nome livello (0, "Variabile 3 Smooth", ID oggetto ("3", 1)), Nome livello (1, "Variable 5 Smooth", ID articolo ("5", 1)), Nome livello (2, "Variable 6 Smooth", ID articolo ("6", 1)), Proprietà (0, {Colore linea (53), Larghezza linea (4)} , ID oggetto ("3", 1)), Proprietà (1, {Colore linea (56), Spessore linea (4)}, ID articolo ("5", 1)), Proprietà (2, {Colore linea (38 ), Larghezza riga (4)}, ID articolo ("6", 1)), Nome livello (-1, "Variabile 4 Smooth", ID articolo ("4", 1)), Proprietà (-1, {Riga Colore (13), Larghezza linea (4)}, ID oggetto ("4", 1)), Proprietà (-1, {Larghezza linea (4)}, ID articolo ("Smooth", 1)))})