Sto cercando di disegnare su un grafico una curva.Ma quella curva è diversa per alcuni insiemi di variabili.Mi chiedo se qualcuno ha un buon modo per modificare yfunction() in base a ciò che è selezionato in un filtro dati locale.Ad esempio, se cambio l'età da 12 a 13, di seguito, voglio un'onda coseno invece di un'onda seno o qualcosa del genere.
Nota: questo è per JMP live, quindi non penso che i gestori di modifica del filtro funzionino lì.Inizialmente li stavo semplicemente tracciando tutti con un disegno variabile su ciascuno individualmente, ma non funziona nemmeno su JMP live e non riesco a capire perché.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 43 ) ), Smoother( X, Y, Legend( 44 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, N Items( 6 ) )
)
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 47.4910973084886 ), Max( 78.4293207137927 ), Inc( 5 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 43.4685580652897 ), Max( 152.924994106993 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
5,
Description( "" ),
Pen Color( "red" );
Pen Size( 3 );
Y Function(
49.5348183760347 + 101.831529865667 / 2 * (1
+Sine( (2 * Pi() * (x - 50)) / 16.6 )),
x
);
)}
)
)
);
Questo obiettivo è facile se non ti interessa il journaling. Puoi semplicemente utilizzare una funzione utente nella chiamata a Y Function() e definirla al di fuori del lancio di Graph Builder. Quindi utilizzare un gestore di stato con il filtro dati per definire una nuova funzione e inviare il riquadro del frame << Reshow.
Se è necessario eseguire il journal, non si desidera utilizzare alcuna variabile. In tal caso, aggiungerei uno script grafico che utilizza solo valori letterali e rimuoverei e aggiungerne uno nuovo in base al filtro.
Divertiti!
Non funzionerebbe per JMP live, vero?Da quello che ho visto, a JMP live DAVVERO non piace lo scripting.Proverò in entrambi i modi.
Sono abbastanza sicuro che JMP Live non esegua script utente arbitrari (forse qualsiasi) sul server.
Quit();
o
while( 1, 0 );
o
x = j( 4e9, 1, 0);
o
wait( 1e6 );
uno qualsiasi dei quali potrebbe apparire in uno script grafico, interrompendo il comportamento del server.
Il caso d'uso di JMP Live ruota attorno al consentire al pubblico di affettare e dividere i dati utilizzando gli strumenti integrati di JMP tramite una GUI creata da te.
- collegamento di grafici per il comportamento di selezione tra i grafici
- utilizzando un filtro dati per sottoinsiemi di dati
- approfondisci i sottoinsiemi (forse... è passato molto tempo dall'ultima volta che ho guardato JMP Live... in realtà il file pubblico versione.)