Come salvare ciascun grafico da una singola finestra nel generatore di grafici in un formato di file diverso da quello jmp?Ciao a tutti,
Ho salvato lo script dal generatore di grafici per produrre un grafico desiderato. Ho trascinato le mie variabili e trascinato la mia lista (: Sample) sull'involucro per produrre lo stesso grafico per ogni categoria. Sto cercando di capire un modo di stampare lo stesso tipo di grafico per tutti. Il problema è che l'esecuzione dello script da Graph Builder produrrà solo un grafico (che verrà mai prima di tutto). Ho pensato che avrei avuto bisogno di un Loop e l'ho scritto qui sotto, ma non funziona. C'è qualcuno che potrebbe darmi qualche indizio su come farlo o se potresti dirmi cosa sto sbagliando?
for(g=1, g<=N items(::Sample), g++,
For(i=1,i<=N items(Eval(::Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
),
Elements(
Points( X, Y( 2 ), Legend( 14 ), Jitter Limit( 1.1193 ) ),
Smoother( X, Y( 1 ), Legend( 15 ) )
),
SendToReport(
Dispatch(
{},
"Days",
ScaleBox,
{Min( 0 ), Max( 21 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"Model Biogas yield",
ScaleBox,
{Min( 0 ), Max( 700 ), Inc( 50 ), Minor Ticks( 0 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
14,
Level Name( 0, "Experimental", Item ID( "Biogas Yield", 1 ) ),
Properties( 0, {Marker Size( 5 )}, Item ID( "Biogas Yield", 1 ) )
), Legend Model(
15,
Level Name( 0, "Model", Item ID( "Smooth(Model Biogas yield)", 1 ) ),
Properties(
0,
{Line Color( 32 ), Line Width( 3 )},
Item ID( "Smooth(Model Biogas yield)", 1 )
)
)}
),
Dispatch(
{},
"X title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 ),
Set Text( "Biogas yield (m3/t VS)" )}
)
)
);
gb<< Save picture ("C:\data\Graph Builder_" || ::Sample[g]||".jpg", JPEG);
););
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpSì, voglio salvare il singolo grafico in un singolo file immagine che può essere sotto qualsiasi piattaforma MS come descritto di seguito.Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpCiao Phil e Jim,
Usando l'esempio della grande classe. Se desidero tracciare il peso rispetto all'altezza per sesso, avrei il seguente script di compilatore grafico:
dt= Open ("C:\Program Files\SAS\JMP\14\Samples\Data\Big Class.JMP");
dt<< Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
Quello che voglio fare è quindi salvare il grafico risultante per ciascuno: Sesso. Come lo faccio?
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmp
Come è questo un esempio del tipo di cosa che vuoi fare?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 564, 350 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :sex ) ),
Elements( Line Of Fit( X, Y, Legend( 8 ) ), Points( X, Y, Legend( 9 ) ) )
);
E vuoi risparmiare altezza vs peso per ogni livello della variabile di Gruppo X come un singolo file immagine?
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpPuoi fornire un esempio più semplice ma più completo di ciò che stai cercando di fare? Forse usando i dati della Grande Classe. Sarà più facile per i membri della comunità aiutare se spieghi la situazione e la questione in modo più chiaro e in un modo più generale in modo che qualsiasi soluzione possa essere prontamente utile per gli altri.
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpIl "campione" proviene dal codice che hai fornito a questa discussione. Quindi non posso aiutarti con la tua domanda. Nel tuo codice, non hai mostrato dove è stato creato "Sample". Appare solo nel codice.
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpHo provato: Sample e :: Sample come di seguito e ho eseguito il debugger JSL:
for(g=1, g<=N items(:sample), print(:sample),
For(i=1,i<=N items(Eval(:Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
Quando utilizzo: Sample I ottiene l'errore N items () deve essere una lista.
Quando utilizzo :: Sample, ottengo l'errore Nome non risolto: esempio di accesso alla valutazione di 'sample', :: sample / * ## * /
Non sono sicuro dove cercare il valore?
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpIl riferimento a
::sample
è un riferimento a una variabile di memoria JSL, non a una colonna
Se vuoi fare riferimento a una colonna specifica
:sample
// or
dt4:sample
// or if referring to a specific row value, like row 7's value
dt4:sample[7]
Esegui il tuo script e posiziona la seguente riga di fronte al tuo primo ciclo For ()
print(::sample);
e poi guarda nel registro e vedi quale valore ha.
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpHo allegato uno screenshot del dt.

Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpPotrei chiamarla la cosa sbagliata. Ancora familiarizzare con questi termini. È un personaggio nominale. Per ogni gruppo di variabili esiste un carattere nominale. Fondamentalmente una colonna denominata Sample corrisponde a un gruppo di variabili. È fondamentalmente una quarta variabile. Quindi penso che avrei bisogno di usare anche una frase condizionale in questo caso?Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpOK ..... cercherò di essere più specifico ...... Non vedo come stai usando una lista JSL, e facendolo funzionare .... mi piacerebbe comunque vedere esattamente quale sia la tua variabile :: valore di esempio è. Ecco perché:
Se il tuo campione è un elenco di caratteri
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
il codice non riesce con il seguente errore:
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
/*:
N Items() argument must be a list
Se la lista è un elenco numerico di valori
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
);
Il codice fallirà quando tenterai di concatenare la stringa nella tua immagine di salvataggio
argument should be character in access or evaluation of 'Concat' , Bad Argument( ::Sample[g] ), "C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
In the following script, error marked by /*###*/
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print(
"C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
)
);
Ecco perché mi piacerebbe vedere esattamente cosa contiene il tuo elenco di esempio ......
Ciò aiuterebbe anche a interpretare quale sia lo scopo dei tuoi 2 loop.
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpSì, è una lista JSL
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpOK, ma ti chiederò ancora una volta di mostrare cosa è la variabile :: Sample. È una lista JSL o una variabile di carattere ???? Qual è il suo valore?Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpMi piacerebbe mantenere lo stesso grafico. Voglio solo salvare il grafico 12 volte o salvarlo per: Campione a prescindere e salvarlo in un file che ha il nome corrispondente in: Esempio. Ha senso?
Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpIl codice Graph Builder che hai specificato, produce solo un grafico. E quando si esegue il looping di g e I, non si modifica nulla nella specifica Graph Builder, ciò indica che si desidera qualcosa di diverso nel grafico che viene prodotto. Cosa ti aspetti di cambiare da un grafico all'altro?Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpNon è un valore ma piuttosto nomi di 12 categorie. Ciascuno avrà un grafico.Ri: Come salvare ogni grafico da una singola finestra nel generatore grafico in un formato di file diverso da jmpPotete fornire qual è il valore di :: Sample? Sembra che tu stia scrivendo più volte sullo stesso file ......