modificare dinamicamente le opzioni Dispatch () inviate a GraphBuilderHo bisogno di modificare alcune delle opzioni inviate al generatore di grafici a seconda delle opzioni nello script.Non riesco a capire come farlo funzionare.
Questo script funziona per rendere il grafico Scala ("Log"), Formato ("Engineering", 12):
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
Ma quando provo a inviare queste informazioni in questo modo non funziona, anche se a me sembra lo stesso:
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
Qualsiasi aiuto con questo sarebbe apprezzato!
GraficaScriptingRi: modifica dinamicamente le opzioni Dispatch () inviate a GraphBuilderCome ho detto in risposta a molte altre discussioni qui, l'argomento Invia a report è stato sviluppato in modo che JMP possa salvare le personalizzazioni quando si salva uno script. Non è stato sviluppato per noi. Ci sono modi migliori. Invia il messaggio Formato direttamente alla casella dell'asse. Come questo:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
Ri: modifica dinamicamente le opzioni Dispatch () inviate a GraphBuilderDa aggiungere a @markbailey tutti i messaggi e le funzioni che possono essere passati ai vari oggetti di visualizzazione nell'output dalle piattaforme JMP sono descritti con esempi nell'indice di scripting..L'output delle varie piattaforme JMP viene visualizzato in strutture piene di oggetti, chiamate alberi di visualizzazione. Pertanto, suggerisco anche di leggere la sezione nella Guida allo scripting sugli alberi di visualizzazione.Aprirà un intero nuovo mondo di cose meravigliose che è possibile fare con l'output di JMP Platforms.
Ri: modifica dinamicamente le opzioni Dispatch () inviate a GraphBuilderDue termini
- oggetto piattaforma: la logica alla base del generatore di grafici. Non è visibile.
- struttura del riquadro di visualizzazione della superficie del report: l'output del generatore di grafici. Un grafico visibile, cursori, pulsanti.
Mark ha ragione; la sintassi del dispatch è stata creata per le macchine, non per gli esseri umani. Il messaggio Dispatch contiene le informazioni utilizzate dall'oggetto piattaforma per trovare una casella di visualizzazione nel report.Se hai bisogno di usarlo, il file SendToReport le spedizioni devono essere inviate in questo modo:
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);gb è l'oggetto piattaforma che il << Invio messaggio viene inviato a. Non inviare il file << Invio messaggio alla superficie del report. SendToReport (...) sta dicendo all'oggetto piattaforma di inviare messaggi nella struttura ad albero dei rapporti.
Mark suggerisce di usare
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
In tutto quanto sopra, gb è l'oggetto della piattaforma del generatore di grafici. Nell'esempio di Mark, gb rep è l'albero dei report della casella di visualizzazione che appartiene all'oggetto della piattaforma del generatore di grafici. Invio del file << report messaggio al gb L'oggetto piattaforma recupera la radice dell'albero del riquadro di visualizzazione (la superficie del report, la parte visibile). Sottoscrivere la radice restituisce una sottostruttura più specifica dell'albero del riquadro di visualizzazione:
gb rep[AxisBox(2)]
Questo è ciò a cui Mark vuole inviare il messaggio Format. Un modo per ottenere quel pedice è usare Mostra struttura ad albero.
Mostra struttura ad albero: fare clic con il pulsante destro del mouse sul triangolo di apertura-chiusura.
Le finestre del report e della struttura ad albero sono collegate; Ho cliccato sull'asse dell'altezza. L'asse delle altezze e le sue informazioni nella struttura ad albero sono entrambi evidenziati. AxisBox (2) è la seconda casella dell'asse nel report.
Ri: modifica dinamicamente le opzioni Dispatch () inviate a GraphBuilderGrazie Mark, è stato molto utile. Ho creato i grafici di cui ho bisogno nel generatore di grafici, quindi ho copiato lo script generato da JMP e quindi modificato con le mie variabili senza farlo funzionare. La tua soluzione ha funzionato alla grande e mi ha aiutato a capire meglio il processo per tutte le diverse modifiche che voglio implementare.