707228_it-IT
Modifica dinamicamente il tipo di grafico del Costruttore di grafici in base al tipo di modellazione variabile

Questa ricetta mostra come modificare dinamicamente il tipo di elemento nel Costruttore di grafici, a seconda che l'utente selezioni una variabile dell'asse x continua o categoriale nel commutatore di colonne. Gli elementi sono i tipi di grafico che appaiono come icone nella parte superiore della palette del Costruttore di grafici. Per gli input continui, viene aggiunto un pulsante di opzione che consente all'utente di selezionare tra una linea di adattamento e un contorno. Questa ricetta è utile quando si creano grafici interattivi per persone che non sono esperti di JMP e necessitano solo di un numero limitato di opzioni.
Ingredienti:- Costruttore di grafici
- Gestione delle espressioni
Tabella dati di esempio – Grande classe
Difficoltà - Difficile
Passi- Iniziare con Nomi predefiniti qui(1) e aperto Grande Classe .
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- Crea una funzione che invia un messaggio a Costruttore di grafici piattaforma che rimuove l'elemento esistente e ne aggiunge uno nuovo. Si presuppone che il Punti L'elemento è già visualizzato ed è l'elemento numero 1, quindi l'elemento da rimuovere è il numero 2.
// This function changes the type of chart being displayed.
// It takes a reference to a Graph Builder report (gbr) and the chart type required (gr)
// At the moment it assumes the Points element will always be included
changeElement = function( {gbr, gr},
{default local},
Eval(
Substitute(
Expr(
gbr << remove element( 1, 1, 2 ) << add element( 1, 1, {Type( __aa__ ), X, Y} )
), Expr( __aa__ ), gr
)
)
);
- Crea la nuova finestra che contiene il commutatore di colonne ( c.s ) per modificare l'asse x, una scatola radio ( RB ) per controllare il tipo di elemento per le variabili continue e il Costruttore di grafici ( GB ).
rb_out = "Line of Fit";
win1 = New Window( "Demo",
Text Box(
"Column switching between continuous and nominal variables will change line of fit to box plots",
<<SET wrap=""></SET>
Il commutatore di colonna viene creato deliberatamente all'esterno del Costruttore di grafici in modo da poter creare successivamente una funzione che intervenga quando il commutatore cambia.
- Collega il commutatore di colonna c.s al Costruttore di grafici GB
cs << link platform( gb );
- Creare un gestore di commutazione di colonna. La funzione post viene chiamata dal gestore una volta completata la modifica. Il formato proviene direttamente dallo Scripting Index.
post = Function( {previousColumn, currentColumn, switcher},
gbr = Report( gb )[GraphBuilderBox( 1 )];
If( Column( dt, cs << get current ) << get modeling type == "Continuous",
changeElement( gbr, rb_out ),
changeElement( gbr, "Box Plot" )
);
);
cs << Make Column Switch Handler( 1, post );
Tieni presente che non è necessario che accada nulla prima che il passaggio venga completato, quindi il primo argomento di Crea un gestore dell'interruttore di colonna non fa nulla.
- Infine, avvia il commutatore di colonne in esecuzione a scopo dimostrativo.
cs << run();
Variazione potenziale:
- Crea una funzione di modifica "pre" che esegue un'iterazione sugli elementi esistenti nel Costruttore di grafici (utilizzando << Ottieni elementi ), trova quello che deve essere rimosso e imposta a livello di codice il terzo argomento << rimuovere l'elemento (invece di fare affidamento sul fatto che sia il secondo elemento).
Comments
There are no comments yet