Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCIAO,
Ho un diagramma di contorno e mi piacerebbe vedere come variano i dati lungo una linea nel diagramma di contorno.
Ad esempio, il tracciato del contorno è un tracciato del contorno dello spessore della pellicola. E mi piacerebbe vedere come varia lo spessore lungo una linea che disegno in un punto qualsiasi della trama del contorno.
È possibile?
Yoga
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpYoga,
Esistono più metodi per aggiungere uno script a una tabella dati.Penso che JMP potrebbe renderlo più semplice. Per tua informazione, questo script mostra solo 3 metodi per aggiungere uno script.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myScript = Expr(Distribution( Column( :Height, :Weight ), By( :sex )) );
//---hard coded method below
//dt << New Script("New Script",Distribution( Column( :Height, :Weight ), By( :sex )) );
//--or use the syntax below that uses expression substitution then Eval() to run it
//Eval( Substitute(Expr( dt << New Script( "New Script", _xx ) ), Expr(_xx), NameExpr(myScript) ) );
//---or use Eval Expr() that does the substitution and Eval() that runs it
Eval( Eval Expr(dt << New Script("New Script", Expr(NameExpr( myScript) ) ) ) );
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Morgana,
C'erano alcuni errori di sintassi (minori) nel codice di esempio inviato per il mio esempio. Mi ci è voluto un po' di tempo (sono molto nuovo nello scripting jmp) per risolverlo, ma alla fine funziona come voglio. Grazie ancora per l'aiuto. Allego lo script modificato di seguito per altri che potrebbero volerlo.
Mi sono anche reso conto che se lo script è archiviato nella tabella dati, non è necessario specificare alcun percorso (lungo). Stranamente non riesco a salvare un nuovo file di script nella tabella dati. Deve essere salvato come file jsl separato. Per risolvere il problema, apro uno script già esistente nella mia tabella dati e lo modifico per inserire il nuovo script.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Morgana,
Grazie ancora. Lo apprezzo molto. Modificherò i miei script di conseguenza.
yoga
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpHo esperienza con i dati dei semiconduttori, quindi capisco di voler fare un'analisi per ciascun wafer o ciascuna struttura.Dalla tua dichiarazione" Funziona per un oggetto. Se sono presenti più oggetti, non sono sicuro di come raggrupparli." Presumo che il tuo file abbia una colonna chiamata wafer e/o struttura.
Innanzitutto non è necessario che una tabella dati si chiami dt. Ripropongo i riferimenti alle variabili, ma chiamare tutte queste tabelle dt potrebbe creare confusione in uno script più ampio.Le collisioni tra i nomi dopo la sintassi e gli errori di battitura sono le cause più frequenti del mancato funzionamento degli script.
Per il tuo script, se sei d'accordo con tutti i grafici inseriti in sequenza in un diario, ecco la mia modifica suggerita allo script per gestire un "per gruppo". C'è altro sotto questo script.
subp = dt << Bivariate ( Y(:Name( "Rdson" )), X(:X), By(:Wafer) );
xx = subp << Find (Outline Box ("Bivariate ?") );
//this returns all outline boxes with Bivariate in the title, should be one for each wafer
//This adds the title but maintains the By Wafer = xxxxxxx
For(i=1, i <=nitems(xx), i++,
ttl = xx[i] << get title;
p = Contains( ttl, "By"); //find the position of the word By
xx[i] << Set Title(" Rdson Contour at Y==0 " || substr(ttl, p, 100) ); //something large
);Tuttavia, esistono altri metodi che consentono di impaginare un report in modo da poter vedere ogni wafer con ciascuna delle scansioni affiancate.Di seguito è riportato un esempio che utilizza Big Class. Ho allegato uno script (vedi file). Non avendo una tabella di prova, non posso garantire che funzionerà, ma potresti provarla.
Names default to here(1);
open("$sample_data/Big Class.jmp");
nw = new window("example", lineupbox(ncol(2), Distribution(
Continuous Distribution( Column( :weight, Horizontal Layout(1) ) ),
Histograms Only,
By( :age, :sex )
)));
nw << journal window();
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Morgan (e tutti),
Sono riuscito a farlo funzionare per la mia tabella dati. Ho anche capito che non ho bisogno di seguire sempre la trama del contorno. Potrei creare una sottotabella in cui tutto X==0 e ottenere i dati lungo Y e viceversa, ed è possibile anche qualsiasi altra coordinata che mi piace. Lo script che hai fornito ha aiutato parecchio.
Ora, sto cercando di capire come farlo su più oggetti. Il mio script di esempio è riportato di seguito. Funziona per un oggetto. Se sono presenti più oggetti, non sono sicuro di come raggrupparli. Qualche input su questo? Lo apprezzerei molto.
Nel mio script, in questo momento ottengo tutti i dati per un oggetto. Tuttavia, devo ripetere lo stesso su un altro oggetto. Tutti gli oggetti rientrano in una categoria, ad esempio "Wafer" o "Struttura"...
Nomi predefiniti qui(1);
dt = open("C:/Users/yoga_***/***.jmp");
dt << Seleziona dove (:Y == 0);
dt << Sottoinsieme(Tabella di output("Sottoinsieme"),Righe selezionate(1), Colonne selezionate (0));
dt = Tabella dati ("Sottoinsieme");
subp = dt << Bivariata ( Y(:Nome( "Rdson" )), X(:X) );
report(subp)[OutlineBox(1)] << Imposta titolo("Contorno Rdson a Y==0");
subp << Finestra del diario();
subp <
dt = open("C:/Users/yoga_***/***.jmp");
dt << Seleziona dove (:X == 0);
dt << Sottoinsieme(Tabella di output("Sottoinsieme2"),Righe selezionate(1), Colonne selezionate (0));
dt = Tabella dati ("Sottoinsieme2");
subp = dt << Bivariata ( Y(:Nome( "Rdson" )), X(:Y) );
report(subp)[OutlineBox(1)] << Imposta titolo("Contorno Rdson a X==0");
subp << Finestra del diario();
subp <
dt = open("C:/Users/yoga_***/***.jmp");
dt << Seleziona dove (0,95 < :X/:Y < 1,05);
dt << Sottoinsieme(Tabella di output("Sottoinsieme3"),Righe selezionate(1), Colonne selezionate (0));
dt = Tabella dati ("Sottoinsieme3");
subp = dt << Bivariata ( Y(:Nome( "Rdson" )), X(:X) );
report(subp)[OutlineBox(1)] << Imposta titolo("Contorno Rdson a X==Y");
subp << Finestra del diario();
subp <
close(Tabella dati("Sottoinsieme"), NoSave);
close(Tabella dati("Sottoinsieme2"), NoSave);
close(Tabella dati("Sottoinsieme3"), NoSave);
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Morgana,
Questo è esattamente quello che voglio. Normalmente eseguo questa subroutine senza uno script. Questo script aiuta.
Ora sto cercando di capire come integrare questo script nelle mie esigenze attuali.
Vi terrò aggiornati.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Morgana,
Grazie per la risposta dettagliata. Cercherò di tenervi (tutti) aggiornati.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpEsistono diversi metodi per ottenere una vista in sezione trasversale di un contorno.Tuttavia, potrebbe non trattarsi di un'istruzione singola o integrata disponibile in altri programmi.
Ho allegato uno script chiamato ContourCrossSection.jsl . Utilizza i dati di esempio JMP Little Pond.jmp. I dati rappresentano la profondità di uno stagno. Crea un contorno, una vista in sezione trasversale singola (utilizzando Adatta Y per X, Bivariata) e una vista comparativa di 3 sezioni trasversali (utilizzando il Costruttore di grafici).
Se non hai familiarità con JSL, esegui semplicemente il programma. L'ho testato in JMP12, 13 e 14. La chiave è l'opzione che puoi ottenere dalle opzioni del grafico del contorno.Nel grafico del contorno JMP selezionare il menu a triangolo rosso, selezionare Salva , quindi seleziona Genera griglia .Specificare il numero di sezioni X e Y e verrà generata una griglia xy.
Ecco alcune altre idee:
- Se il numero di punti campione non è denso, valuta la possibilità di creare una curva più uniforme con una rete neurale o un'altra piattaforma. A volte la triangolazione è interrotta. Con una funzione esistono più metodi per ottenere una sezione trasversale.
- Impara a utilizzare Contour Profiler con una mesh. Quindi aggiungi un filtro dati locale dal menu e imposta l'intervallo di Y o X su qualcosa come 50 <=Y <= 50.1 È tutto interattivo. Ci sono altre opzioni nel profiler.
- Se puoi ottenerlo facilmente da un altro programma, per il quale hai accesso, puoi accedere a R, MatLab, SAS e in JMP14, Python utilizzando JSL e Run Program.
Spero che questo ti aiuti.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Cameron,
No, non una spline di livellamento. Sembra che non ci sia modo di ottenerlo ora a meno che non segua il modo tortuoso per ottenere sottoinsiemi di dati.
Non dovrebbe essere troppo difficile aggiungere questa funzionalità a jmp. Di solito è presente in molti software che mappano i parametri nell'XY per fornire un grafico del contorno. E possiamo giocare per vedere come varia lungo qualsiasi linea che disegniamo lungo il contorno.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpStai descrivendo una sezione trasversale del film come un profilo di rete trasversale in una sezione particolare lungo la direzione della rete verso il basso? Se è così, non penso che ci sia un modo per ottenerlo dal contour profiler.
È necessario disegnare una linea che si interpola tra i punti dati in quella sezione trasversale come una spline di livellamento?
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCiao Cameron,
Non esattamente. Cerco la variazione del parametro quando disegno una linea da un'estremità all'altra del mio diagramma di contorno. Cercherò di illustrarlo nel miglior modo possibile qui.
Ho un grafico del contorno dello spessore del film che varia su un substrato. Quindi, potrei scegliere una X (o Y) qualsiasi e tracciare una linea da un'estremità all'altra. Supponiamo di volere tutti i punti su Y=0 ma X che varia da -50 a +50. Traccio una linea orizzontale da -50 a +50. Quindi, vorrei vedere come varia lo spessore lungo quella linea e una trama viene visualizzata sul lato.
Potrei farlo in modo tortuoso. Prendi il set di dati. Quindi, prendi un altro sottoinsieme di tutti i punti dati con Y=0. Quindi traccia lo spessore rispetto a X (per tutti Y = 0).
Mi piacerebbe che questo potesse essere fatto sullo sfondo quando traccio semplicemente una linea ovunque.
Ri: Ottenere i dati di scansione della linea dai grafici dei contorni in jmpCIAO @Yoga ,
Stai dicendo che vuoi tracciare i punti dati sopra il grafico del contorno?Se sì, guarda questo thread: https://community.jmp.com/t5/Discussions/Adding-specific-data-points-with-labels-to-a-contour-plot/mp/52455