Esportazione di più grafici con script diversiCiao utenti Jmp,
Sto provando a esportare più grafici in Jmp. C'è un modo per selezionare gli script corrispondenti ed esportare tutti i grafici insieme?
Molte grazie !
I
Automazione e scriptingPersonalizzazione di massaRi: Esportazione di più grafici con script diversipmroz,
Sto ancora ricevendo una finestra vuota quando provo ad aprire "Graph". C'è qualcosa di fondamentale che devo includere? Il mio obiettivo è mettere tutti e tre i grafici (Graphs, Graphs2 e Graphs3) in una finestra in modo da poter copiare e incollare in Powerpoint.
Molte grazie per qualsiasi input.
Neill
Ri: Esportazione di più grafici con script diversipmroz,
Molte grazie per l'input! Essendo un principiante, mi sto ancora abituando al flusso e alle funzionalità JSL e sarei lieto di ricevere una guida esperta. Ho incluso l'intero script (ridotto), per mostrarti il flusso generale. Sulla base della precedente esperienza di codifica che considerava una macro principale e subroutine, stavo cercando di incapsulare le routine nelle espressioni in modo che potessero essere chiamate successivamente nel programma ("Files ()", "Join_files" e "Con").
Ho cambiato "Graphs = Eval Expr" in "Graphs = Expr" e tutto funziona. Non ero sicuro che fosse necessario un Eval poiché è stato chiamato in un'altra espressione (Join_files).
Avevo usato i grafici in una nuova finestra, ma ho ancora una finestra vuota.
Molte grazie ancora per il tuo prezioso tempo.
Neill
Files = Expr(
SD1 = "C:\Users\";
path = {};
f1 = Files In Directory( SD1, recursive(1));
For( i = 1, i <= N Items( f1 ), i++,
If(Ends With( f1[i], ".csv" ),
f1[i] = Convert File Path(SD1) || f1[i];
b= f1[i];
Insert Into(path, b)
);
);
);
Join_files = Expr(
For( i = 1, i <= N Items( path ), i+=2,
/*area, %area, and pore pixel count*/
jointable1 = Open( path[i] );
//jointable1 << Get Name;
samplename = Substr( jointable1 << Get Name, 1, 18 ); //sample replicate name //
samplename2 = Word(1,q, "_"); // only sample name, no replicate suffix
jointable1 << New Column( "Sample",
Character,
Nominal,
Set Each Value( samplename ) // setting each row in column 1 to samp rep name //
);
jointable2 = Open( path[i + 1] );
dt = Data Table( jointable1 ) << Join(
With( Data Table( jointable2 ) ),
Select( :Sample, :Area, :Name( "%Area" ),:scale,:thick),
SelectWith( :pixD1, :count1),
Cartesian Join
);
Close( jointable1, no save );
Close( jointable2, no save );
Columns();
Graphs();
Graphs2();
Graphs3();
dt << Set Name(samplename);
po = dt << get name;
dt << Save(SD1 || po);
);
nw = new window("Example Export Multiple Platforms",
chart_output = vlistbox(
graphs,
);
);
);
Columns = Eval Expr(
dt << New Column( "Sample 2",
Character,
"Nominal",
Set Each Value(samplename2),
Set Display Width( 150 ),
);
);
Graphs = Eval Expr(
/*set graphs*/
dt << New Table Property( "Cumulative Resistivity",
Graph Builder(
Size( 591, 496 ),
Show Control Panel( 0 ),
Grid Color( "Black" ),
Graph Spacing( 2 ),
Variables(
X( :Name( "Diameter (um)" ) ),
Y( :Name( "flow resistivity (Pa*s/m^2)") ),
Overlay( :Sample )
),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 20 ) ) ),
SendToReport(
Dispatch(
{},
"Diameter (um)",
ScaleBox,
{Min( 0 ), Max( 80 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row(
{Show Major Grid( 1 ), Show Minor Grid( 1 )}
)}
),
Dispatch(
{},
"flow resistivity (Pa*s/m^2)",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Min( 100000 ),
Max( 10000000000000 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
)
)
)
);
Con = Expr(
dt = {};
// Sort list ascending (sample replicates) //
For( i = 1, i <= N Table(), i++,
table = data table(i);
insert into(dt, table);
sort list into(dt)
);
// Concatenate each file (sample replicates) //
dt_all= Data Table( dt[1] ) << Concatenate(
Data Table( dt[2] ),
Data Table( dt[3] ),
Output Table( "Concatenated Table" )
);
// Rename file to sample name and Save //
dt_all << set name(samplename2);
dt_all:Sample << Set Display Width( 150 ); // Widen to include entire title
p = dt_all << get name;
dt_all << Save(SD1 || p);
close(dt_all, no save);
close(dt[1], no save);
close(dt[2], no save);
close(dt[3], no save);
);
Files();
Join_files();
Con();
Ri: Esportazione di più grafici con script diversiCiao NRW, penso che tu stia complicando un po' le cose.Non è necessario inserire la logica di join in un'espressione.Basta eseguirlo così com'è senza l'expr() circostante.
IL grafici la logica è stata interrotta nel tuo intervento, ma lo farei come espr() , piuttosto che eval espr() .
Finalmente nella tua nuova finestra appena messo
graphs,
e non
graphs("Cumulative Resistivity"),
Ri: Esportazione di più grafici con script diversiGente,
Mi sono appena imbattuto in questo thread e penso che sia quello che cercavo. Tuttavia, sto ancora cercando di superare la gobba di apprendimento JSL e non riesco a ottenere il risultato.
Breve riepilogo:
- unione di set di dati CSV in un unico foglio JMP
- script di trama creati e salvati nella tabella dei dati
- Quando apro la tabella in un secondo momento, eseguo i tre script di trama, quindi copio e incollo ogni trama in una singola diapositiva Powerpoint (le immagini che corrispondono alle trame sono già state incollate nella stessa diapositiva)
Sto cercando di ridurre al minimo i passaggi di clic e copia raggruppando almeno tutti e tre i grafici insieme e ottenendoli in un formato che possa esportarli tutti e tre contemporaneamente. Ho esplorato se questo deve essere fatto con un dashboard o un diario che in qualche modo raggruppa e salva come file che posso trascinare. Il Santo Graal sarebbe quello di far accoppiare le mie immagini jpg con le mie trame JMP e poi trasferirle in PP.
Ho provato il comando Vlist ma ottieni una finestra vuota quando si cerca di ottenere la trama che è stata salvata come sceneggiatura. Vengono mostrati parte dei pezzi di sceneggiatura rilevanti.
Qualsiasi pensiero o input è il benvenuto.
Neill
Join_files = Expr(
For( i = 1, i <= N Items( path ), i+=2,
/*area, %area, and pore pixel count*/
jointable1 = Open( path[i] );
//jointable1 << Get Name;
samplename = Substr( jointable1 << Get Name, 1, 18 ); //sample replicate name //
samplename2 = Word(1,q, "_"); // only sample name, no replicate suffix
jointable1 << New Column( "Sample",
Character,
Nominal,
Set Each Value( samplename ) // setting each row in column 1 to samp rep name //
);
/*diameter and pore pixel count*/
jointable2 = Open( path[i + 1] );
dt = Data Table( jointable1 ) << Join(
With( Data Table( jointable2 ) ),
Select( :Sample, :Area, :Name( "%Area" ),:scale,:thick),
SelectWith( :pixD1, :count1),
Cartesian Join
);
Close( jointable1, no save );<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="report summ_.JPG" style="width: 829px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="report summ_.JPG" style="width: 829px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="report summ_.JPG" style="width: 829px;"><span class="lia-inline-image-display-wrapper" image-alt="report summ_.JPG" style="width: 829px;"><img src="https://us.v-cdn.net/6038925/uploads/images/32980i018D050D35ACCDD9/report%20summ_.JPG" role="button" title="report summ_.JPG" alt="report summ_.JPG" /></span></SPAN></SPAN></SPAN>
Close( jointable2, no save );
Columns();
Graphs();
Graphs2();
Graphs3();
dt << Set Name(samplename);
po = dt << get name;
dt << Save(SD1 || po);
);
<BR />Graphs = Eval Expr(<BR />/*set graphs*/<BR />dt << New Table Property( "Cumulative Resistivity",<BR />Graph Builder(<BR />Size( 591, 496 ),<BR />Show Control Panel( 0 ),<BR />Grid Color( "Black" ),<BR />Graph Spacing( 2 ),<BR />Variables(<BR />X( :Name( "Pore Diameter (um)" ) ),<BR />Y( :Name( "Cumulative flow resistivity (Pa*s/m^2)") ),<BR />Y( :Pore Size Dist ),<BR />Y( :Name( "Cumulative Pore fraction (pore+solid)" ) ),<BR />Overlay( :Sample )<BR />),<BR />Elements( Position( 1, 1 ), Line( X, Y, Legend( 20 ) ) ),<BR />Elements( Position( 1, 2 ), Line( X, Y, Legend( 18 ) ) ),<BR />Elements( Position( 1, 3 ), Line( X, Y, Legend( 19 ) ) ),<BR />SendToReport(<BR />Dispatch(<BR />...<BR />
nw = new window("Example Export Multiple Platforms",
chart_output = vlistbox(
graphs("Cumulative Resistivity"),
);
);
);
Ri: Esportazione di più grafici con script diversiCIAO @JMPdiscoverer ,
Stavo arrivando con una soluzione simile a @pmroz e mi piace quello che hanno fatto.
Ecco cosa stavo pensando, ma non così bello come creare un documento word, ecc. Puoi anche salvarli direttamente su file PPT. Ho creato i report nel JSL solo per averli a portata di mano, ma i cicli for possono funzionare se li hai già aperti. Tuttavia, se scrivi uno script che genera i rapporti, puoi semplicemente fare riferimento al rapporto tramite il nome della variabile invece di trovare un elenco di finestre.
Names Default To Here( 1 );
dt = open("$sample_data\Big Class.jmp");
rpt1 = dt << Bivariate( Y( :weight ), X( :height ) );
rpt2 = dt << Oneway( Y( :height ), X( :age ), X Axis Proportional( 0 ) );
rpt3 = dt << Fit Group(
Oneway( Y( :weight ), X( :age ), X Axis Proportional( 0 ) ),
Bivariate( Y( :weight ), X( :height ) ),
<<{Arrange in Rows( 2 )}
);
reportlist = {};
For( i = 0, i <= N Items( Window() ), i++,
If(
!Is Missing( Regex( Window( i ) << getwindow title, "Fit" ) ) == 1 | !Is Missing(
Regex( Window( i ) << getwindow title, "Oneway" )
) == 1 | !Is Missing( Regex( Window( i ) << getwindow title, "Bivariate" ) ) == 1,
Insert Into( reportlist, Window( i ) << get window title )
)
);
For( i = 1, i <= N Items( reportlist ), i++,
picbox = Window( reportlist[i] ) << getPicture;
picbox << SaveImage(
"whatever your local directory to save is\pic" || Char( i ) || ".png"
);
);Questi dovrebbero farti lavorare bene sulla tua strada.
Buona fortuna!,
DS
Ri: Esportazione di più grafici con script diversiEcco un esempio che esporta tre output grafici da Big Class in un documento word.
dt = open("$sample_data\Big Class.jmp");
dist = expr(dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
));
gb1 = expr(dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) )
));
gb2 = expr(dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
));
nw = new window("Example Export Multiple Platforms",
chart_output = vlistbox(
dist,
page break box(),
gb1,
page break box(),
gb2
);
);
chart_output << save msword("c:\temp\SampleCharts.doc", Native);