C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Ciao, sono abbastanza nuovo in jmp e sto cercando di scrivere uno script per automatizzare qualcosa che sono stato in grado di fare in altri software. Non sono sicuro che quello che voglio fare sia possibile. Sto cercando di utilizzare alcuni dati per sovrapporre 2 grafici, uno è un grafico a dispersione e l'altro è un grafico a linee. Sono in grado di eseguire il grafico a dispersione, ma non riesco a capire come includere anche il grafico a linee.
Ho incluso alcune immagini dei 2 grafici che voglio sovrapporre e anche un esempio con altri software di come dovrebbe apparire. Includerò anche ciò che ho finora per la mia sceneggiatura.
Grazie in anticipo per qualsiasi assistenza.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>



GraficaAltroSceneggiaturaRi: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Perfetto, la mia sceneggiatura sta funzionando alla grande! Grazie ancora per tutto il vostro aiuto!
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Stai modificando il valore di "framex_value" da numerico a carattere quando lo specifichi
framex_value = framex << get text();
Stai dicendo a JMP di ottenere il valore di framex come "testo"
Dovresti specificare
framex_value = framex << get ;
Guarda nella Guida agli script sotto "NumberEditBox" e vedrai tutti i messaggi che possono essere gestiti da "NumberEditBox" ed esempi per ognuno.
Su un altro problema correlato che stai specificando
framex = Number Edit Box( "" )
che sta dicendo a JMP di applicare un valore di carattere alla casella di immissione numerica.Poiché si tratta di un campo numerico, è necessario specificare un numero valido o un punto "." Il "." viene gestito come un valore mancante.
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Grazie per questo esempio. Non so se sto inserendo l'input dell'utente in modo errato o meno, ma ottengo un errore quando lo aggiungo allo script e provo a eseguirlo.
Impossibile convertire l'argomento in un numero [o matrice] nell'accesso o nella valutazione di 'Subtract' , 76200 - /*###*/framex_value/*###*/.
Ho allegato di nuovo il mio script con tutti gli aggiornamenti se necessario per aiutare.
Grazie ancora in anticipo. Apprezzo molto l'aiuto.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?- Si prega di leggere la sezione sulle matrici nella Guida agli script
- Ecco un esempio
Names default to here(1);
framex_value = 5000;
xMat = matrix(76200 - framex_value) |/ matrix(76200 - framex_value) |/
matrix(76200 + framex_value) |/ matrix(76200 + framex_value);
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?@txnelson
Questo è fantastico, mi piace molto questa soluzione. Grazie per aver inviato questo.
Posso disturbarti con un'altra domanda? Sto lottando per ottenere i valori calcolati in xMat. Il mio programma chiede all'utente un valore, prendo quel valore e il calcolo per i primi due valori xMat dovrebbe essere calcolato (76200-"valore di input utente") e i secondi due valori xMat dovrebbero essere calcolati (76200 + "input utente valore"). Grazie in anticipo per qualsiasi assistenza.
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?@GardDog
Ti rispondo, per esortarti a rivalutare la prima opzione che ti ho mostrato.Ha il netto vantaggio di non incasinare i tuoi dati.Di seguito è riportata una rielaborazione dello script prodotto da Graph Builder per la prima opzione.Il codice rielaborato ti mostrerà come incorporare i valori calcolati direttamente nell'output grafico.
Names Default To Here( 1 );
dt = Current Data Table();
// Determine your X Matrix
// Here it is just being assigned, but you can easily create it in your code
xMat = [25000, 25000, 100000, 100000];
// The yMat is static, so it would be input as is
yMat = [1, 0.92, 0.92, 1];
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :X Coordinate ), Y( :Normalized ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Color( "orange" );
Pen Size( 2 );
Line( xmat, ymat );
);
report(gb)[AxisBox(2)] << min(.91);
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Questo è perfetto, grazie mille. Lo apprezzo così tanto. Ho cercato di capire come farlo per un po' di tempo.....sono riuscito a farlo funzionare sul mio set di dati.... ora devo solo vedere come aggiungere i valori per il grafico a linee in le colonne. Usando i nomi delle colonne, le coordinate X per la riga dipenderanno da un valore immesso dall'utente, quindi cambieranno, ma la norma2 sarà sempre gli stessi 4 valori. Vedo che hai risposto all'altro post che ho scritto su questo. Lo recensirò. Grazie ancora.
Ri: C'è un modo per scrivere uno script che rappresenti 2 diversi tipi di grafici in un grafico?Ecco 2 soluzioni.
La prima soluzione crea il grafico solo con la coordinata X e i dati normalizzati, quindi utilizzando Aggiungi script grafico, aggiunge nella riga

La seconda soluzione, aggiunge righe extra alla tabella dei dati e 1 colonna extra, quindi specificando per quali variabili mostrare i punti e per quale mostrare una linea, il Generatore di grafici fornisce il grafico finale

Le 2 tabelle dati vengono allegate e gli script per ciascuna versione vengono salvati nelle rispettive tabelle dati.