JSL: come eseguire lo script di un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecCiao a tutti,
Sto lavorando su un set più ampio di codice JSL e sono interessato ad aggiungere alcune funzionalità in modo che l'utente possa scorrere diverse visualizzazioni -- qualcosa come quello che si può fare quando si scorre tra i diversi componenti nella piattaforma PCA, vedi schermata girato sotto.

So che ho bisogno di un paio di Combo Box con le colonne pertinenti dalla tabella dei dati, ma non sono sicuro di come ottenere l'aggiornamento automatico del grafico come nella piattaforma PCA o di come chiamare correttamente la casella del pulsante Avanti. Vorrei anche aggiungere una casella del pulsante Precedente in modo che l'utente possa tornare indietro nella vista più facilmente.
Se qualcuno ha qualche suggerimento o idea su come implementarlo, apprezzerei l'aiuto. Non sono riuscito a cercare questa funzionalità o a trovare molto al riguardo nell'indice di script o nella guida agli script che ho.
Grazie!,
ds
AGGIORNAMENTO: mi sto avvicinando e ho un codice che scorre l'elenco nella casella combinata, quindi è abbastanza semplice (vedi sotto). Quello con cui ho ancora problemi è ottenere l'aggiornamento automatico del grafico. L'intento è quando l'utente fa clic su Avanti o Indietro, la variabile y cambia automaticamente nel grafico. A proposito, sto usando il file Boston Housing.jmp per testarlo.
Names Default To Here( 1 );
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
nw = New Window( "interactive Graph builder", V List Box( vlb1 = V List Box(), vlb2 = V List Box() ) );
xcol = 1;
ycol = 2;
lbcontent = V List Box(
Lineup Box( N Col( 5 ),
Text Box( "Select Params", <<SET font="" size=""></SET>
SceneggiaturaRe: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecSalve, cerco ulteriore aiuto in merito?
Sto cercando di visualizzare solo un certo numero di colonne nella mia xlist invece di tutte le colonne, che sono posizionate in qualsiasi ordine casuale
xlist= {"crim", "nox", "radiale"};
Usando lo script sopra, sta tracciando solo le prime 3 colonne, che in questo caso "crim", "zn" e "indus" e non quelle che ho menzionato sopra.
C'è qualche soluzione a questo?
Grazie.
Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecAggiornamento: OK, quindi ho dovuto leggere un po' di più nella mia Guida agli script su Append, Prepend, Sib Append e Sib Prepend. Dopo aver letto questo, si trattava di determinare a quale contenitore avevo bisogno di anteporre il grafico aggiornato. Quindi, quando si tratta di avere altre scatole contenitore in una finestra, potrebbe essere necessario utilizzare il comando Sib Prepend(). Ha senso ora che lo vedo.
Il JSL allegato fa tutto ciò che intendevo, se qualcuno è interessato.
Grazie!,
ds
Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecCiao @ian_jmp ,
Spero che tu possa essere in grado di aiutare a far funzionare correttamente questo script quando avrò più elementi nella nuova finestra. Sono stato in grado di prendere il mio script concettuale che ha funzionato da solo e spostarlo in uno script più grande che partiziona i dati e visualizza i risultati. Sto allegando il mio codice JSL come file, potrebbe essere più semplice in questo modo. Apre il Boston Housing ed è possibile selezionare la tabella dei dati, quindi i fattori X e la risposta Y e impostare una porzione di convalida e il numero massimo di divisioni da tentare.
Il codice funziona per generare l'output che voglio (sotto):

Ma, quando si scorre tra i parametri, il layout della finestra viene riorganizzato in questo modo:

Vorrei mantenere lo stesso layout del primo screenshot, ma le opzioni Prepend e Append non mantengono il layout corretto. Ogni aiuto è molto apprezzato.
Grazie!,
ds
Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecCiao @ian_jmp ,
Ha fatto esattamente il trucco, grazie! Pubblicherò il codice di lavoro di seguito e lo contrassegnerò come soluzione, poiché questo codice fa esattamente ciò che intendevo quando ho iniziato a lavorare su questa parte.
Grazie!,
ds
Codice aggiornato con Prepend invece di Append.
Names Default To Here( 1 );
dt = Open("$sample_data/Boston housing.jmp");
//dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecProva 'Anteprima' anziché 'Aggiungi'.
Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecCiao a tutti,
Quindi, sono riuscito a trovare un thread di discussione precedente qui dove @SM ha aiutato un altro utente a fare qualcosa di simile. Sono stato in grado di lavorare su quell'idea e modificarla per farla funzionare più o meno come intendo. di seguito è riportato il codice che consente tale funzionalità, ad eccezione di un "difetto" minore.
Il codice consente all'utente di selezionare gli elementi X, Y da rappresentare graficamente e aggiorna il grafico quando si cambiano le Combo Box o quando si premono i pulsanti Prev/Next. Quindi, a questo proposito, il codice funziona come previsto.
Dopo aver apportato una modifica per tracciare qualcosa di diverso, la casella del contenuto del generatore di grafici scambia le posizioni con la casella di selezione che contiene le caselle combinate/caselle pulsanti. Vorrei mantenere la casella Lineup che contiene le opzioni per modificare il grafico nella parte inferiore della finestra e non sono sicuro di come farlo.
Tutti i suggerimenti su come farlo funzionare sono molto apprezzati! (codice alla fine).
Grazie!,
ds
Finestra iniziale (con l'opzione sotto):

Finestra aggiornata dopo aver apportato una modifica alle caselle combinate X o Y o ai pulsanti Prec/Next:

Ecco il codice:
Names Default To Here( 1 );
//dt = open("$sample_data\Boston Housing.jmp");//In case the file isn't already open.<BR />
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecCiao @DonMcCormack ,
Sì, questo farebbe sicuramente il trucco, ma voglio un aggiornamento automatico del grafico quando l'utente fa clic sui pulsanti Avanti/Prec o seleziona un diverso insieme di variabili dalla casella combinata. In sostanza, sto cercando di ricreare la funzionalità della piattaforma PCA ma di averla generalizzata per l'incorporazione in altri script.
ds
Re: JSL: Come creare uno script per un aggiornamento del grafico con la casella Combo e i pulsanti Avanti/PrecPerché non utilizzare il commutatore di colonna?