modificare dinamicamente le opzioni Dispatch() inviate a GraphBuilderHo bisogno di modificare alcune delle opzioni inviate al Costruttore di grafici a seconda delle opzioni nello script.Non riesco a capire come farlo funzionare.
Questo script funziona per creare il grafico Scale("Log"), Format("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 informazioni in questo modo non funziona, anche se mi sembra uguale:
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!
Personalizzazione di massaRi: modifica dinamica delle opzioni Dispatch() inviate a GraphBuilderGrazie Marco, è stato molto utile. Ho costruito i grafici di cui avevo bisogno nel generatore di grafici, quindi ho copiato lo script generato da JMP e quindi l'ho modificato con le mie variabili e semplicemente non sono riuscito a farlo funzionare. La tua soluzione ha funzionato benissimo e mi ha aiutato a comprendere meglio il processo per tutte le diverse modifiche che desidero implementare.Ri: modifica dinamica delle opzioni Dispatch() inviate a GraphBuilderDue termini
- oggetto piattaforma: la logica dietro il generatore di grafici. Non è visibile.
- albero della casella di visualizzazione della superficie del report: l'output del generatore di grafici. Un grafico visibile, cursori, pulsanti.
Marco ha ragione; la sintassi dell'invio è stata creata per le macchine, non per gli esseri umani. Il messaggio Dispatch contiene informazioni utilizzate dall'oggetto piattaforma per trovare una casella di visualizzazione nel report.Se hai bisogno di usarlo, il Invia a rapporto i dispacci devono essere inviati 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 su cui si trova il file < il messaggio viene inviato a. Non inviare il < messaggio alla superficie del report. Invia a rapporto(...) sta dicendo all'oggetto della piattaforma di inviare messaggi nell'albero del report.
Mark suggerisce di utilizzare
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
In tutto quanto sopra, GB è l'oggetto della piattaforma di creazione di grafici. Nell'esempio di Marco, rappresentante britannico è l'albero del report della casella di visualizzazione che appartiene all'oggetto della piattaforma di creazione del grafico. Invio del < messaggio al GB L'oggetto piattaforma recupera la radice dell'albero della casella di visualizzazione (la superficie del report, la parte visibile). L'iscrizione della radice restituisce un sottoalbero più specifico dell'albero della casella di visualizzazione:
gb rep[AxisBox(2)]
Questo è ciò a cui Mark vuole inviare il messaggio Format. Un modo per ottenere tale pedice è utilizzare Mostra struttura ad albero.
Show Tree Structure: right-click on the open-close triangle.Show Tree Structure: right-click on the open-close triangle.Mostra struttura ad albero: tasto destro del mouse sul triangolo apri-chiudi.
Le finestre del report e della struttura ad albero sono collegate; Ho cliccato sull'asse dell'altezza. L'asse dell'altezza e le sue informazioni nella struttura ad albero sono entrambi evidenziati. AxisBox(2) è il secondo riquadro dell'asse nel report.
Ri: modifica dinamica delle opzioni Dispatch() inviate a GraphBuilderDa aggiungere a @Mark_Bailey 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 degli script..L'output delle varie piattaforme JMP viene visualizzato in strutture piene di oggetti, chiamate alberi di visualizzazione. Pertanto, suggerisco anche di leggere la sezione della Guida allo scripting sugli alberi di visualizzazione.Aprirà un mondo completamente nuovo di cose meravigliose che è possibile fare con l'output delle piattaforme JMP.
Ri: modifica dinamica delle opzioni Dispatch() inviate a GraphBuilderCome ho detto in risposta a molte altre discussioni qui, l'argomento Invia al 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 Format 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 );