707228_it-IT
Modifica dinamicamente il tipo di grafico del generatore di grafici in base al tipo di modellazione della 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 –
Difficoltà classe grande – Difficile
Passi- Start with Nomi predefiniti qui(1) and open Grande Classe.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- Create a function which sends a message to the Costruttore di grafici platform that removes the existing element then adds a new one. It assumes that the Punti element is already displayed and is element number 1, therefore the element to be removed is number 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
)
)
);
- Create the new window which contains the column switcher (c.s) to change the x-axis, a radio box (RB) to control the element type for continuous variables, and the Graph Builder (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>
<P>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.</P>
<OL start="6">
<LI>Link the column switcher <FONT face="courier new,courier">c.s</FONT> to the Graph Builder <FONT face="courier new,courier">GB</FONT>
<PRE><CODE class=" language-jsl">cs << link platform( gb );
Create a Column Switch Handler. The function post is called by the handler once the change has been completed. The format comes directly from the 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 lo scambio venga completato, quindi il primo argomento di Make Column Switch Handler non fa nulla.
Finally, start the column switcher running for demo purposes.
cs << run();
Variazione potenziale:
- Crea una funzione di modifica "pre" che esegue un'iterazione sugli elementi esistenti nel Costruttore di grafici (utilizzando << Get Elements ), trova quello che deve essere rimosso e imposta a livello di codice il terzo argomento in << rimuovi elemento (invece di fare affidamento su di esso essendo il secondo elemento).
<LINGO-LABS id="lingo-labs-707228" slang="en-US" mode="UPDATE"><LINGO-LABEL>Automazione e scripting</LINGO-LABEL><LINGO-LABEL>Dolci</LINGO-LABEL></LINGO-LABS>
Comments
There are no comments yet