Riga di riferimento Ordine non funzionanteCiao. Sto usando uno script di tabella per creare alcuni grafici bivariati. Per ogni trama, creo delle linee di riferimento, ma poi utilizzo un Invio sul framebox per modificare l'ordine delle linee di riferimento in qualcosa di più alto in modo che le linee di riferimento siano disegnate davanti ai dati. Tuttavia, questo non sembra cambiare nulla. Ecco un semplice esempio di quello che sto cercando di fare. Quando lo faccio, l'ordine della linea di riferimento non cambia.
Mi sto perdendo qualcosa?
myWin = New Window( "plots",
H List Box(
Bivariate(
Y( :Name( "y1" ) ),
X( :Name( "x1" ) ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line( 329, "Solid", "Black", "a line", 2 ),
Add Ref Line( 349, "Solid", "Blue", "b line", 2 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 400, 300 ), Grid Line Order( 1 ), Reference Line Order( 5 )}
),
),
Bivariate(
Y( :Name( "y2" ) ),
X( :Name( "x2" ) ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line( 329, "Solid", "Black", "a line", 2 ),
Add Ref Line( 349, "Solid", "Blue", "b line", 2 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 400, 300 ), Grid Line Order( 1 ), Reference Line Order( 5 )}
),
)
)
)
)
)Re: L'ordine della linea di riferimento non funzionaIn realtà, a quanto pare, se non specifichi la gerarchia nella parte di aggiunta grafica dell'invio, la disegna in cima. Quindi è quello che ho fatto. Voglio ricordare che sembra che lo sfondo/il primo piano venga ignorato quando si utilizza la spedizione.
Re: L'ordine della linea di riferimento non funzionaLa sceneggiatura di Mark disegna le linee sopra tutte le altre linee di riferimento e linee griglia e linee adattate per me.
L'unico ordine per il framebox che conosco, oltre allo scripting, è Grid Line Order e Reference Line Order.
A seconda di come e quando aggiungi elementi al framebox, potrebbe essere necessario inviare un messaggio Inval e poi un messaggio di finestra di aggiornamento. Per me funziona.Vedi sotto. Dovresti menzionare quale versione di JMP stai utilizzando e MAC vs PC.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Add Ref Line( 108.3182, "Solid", blue, "M mean", 2 );
axisbox << Add Ref Line( 100.9444, "Solid", purple, "F mean", 2 );
rbiv[axis box( 1 )] << {Min( 60 ), Max( 180 ), Inc( 10 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )};
rbiv[axis box( 2 )] << {Min( 50 ), Max( 72.5 ), Inc( 4 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )};
biv_fb = rbiv[frame box( 1 )];
biv_fb << Reference Line Order( 1 );
biv_fb<<INVAL></INVAL>
Re: L'ordine della linea di riferimento non funzionaHmm. Ho aggiunto uno script grafico con V Line nei due punti e l'ho realizzato a un livello di disegno più alto, ma non ha comunque portato quelle linee in avanti o le ha disegnate sopra tutto. Sto ancora usando Send To Report nonostante la raccomandazione perché ho molte più trame che ho intenzione di includere e in questo modo la sceneggiatura è già scritta per me. Ma questo non sembra funzionare.
Re: L'ordine della linea di riferimento non funzionaEcco una soluzione:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "My Plots",
H List Box(
biv1 = dt << Bivariate( Y( :Weight ), X( :Height ) ),
biv2 = dt << Bivariate( Y( :Weight ), X( :Height ) )
)
);
{biv1_rep, biv2_rep} = {biv1, biv2} << Report;
{biv1_rep[FrameBox( 1 )], biv2_rep[FrameBox( 1 )]} << Frame Size( 400, 300 );
{biv1_rep[FrameBox( 1 )], biv2_rep[FrameBox( 1 )]} << Add Graphics Script(
H Line( 120 );
);Re: L'ordine della linea di riferimento non funzionaL'Asse Box è responsabile della gestione delle linee di riferimento. L'ordine delle linee di riferimento è relativo ad altre linee di riferimento, non agli altri grafici.Credo che le linee vengano disegnate prima (contesto visivo di sfondo), insieme a qualsiasi altra personalizzazione della scala, prima degli script grafici nel Frame Box (le informazioni visive effettive).
Potresti usare Linea H() o Linea V( ) funzioni invece e quindi hai il controllo su quando vengono disegnati rispetto a qualsiasi altro elemento grafico. Sono associati alla Frame Box, non alla Axis Box.
Non è consigliabile utilizzare la direttiva Send to Report. È meglio inviare il messaggio direttamente all'oggetto di destinazione.