L'ordre de la ligne de référence ne fonctionne pasBonjour. J'utilise un script de table pour créer quelques graphiques bivariés. Pour chaque tracé, je crée des lignes de référence, mais j'utilise ensuite un Dispatch sur le framebox pour changer l'ordre des lignes de référence en quelque chose de plus élevé afin que les lignes de référence soient dessinées devant les données. Cependant, cela ne semble rien changer. Voici un exemple simple de ce que j'essaie de faire. Lorsque je fais cela, l'ordre de la ligne de référence ne change pas.
Est-ce que je manque quelque chose?
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 : La commande de ligne de référence ne fonctionne pasEn fait, il s'avère que si vous ne spécifiez pas de hiérarchie dans la partie ajouter des graphiques de l'envoi, il la dessine en haut. C'est donc ce que j'ai fait. Je tiens à mentionner qu'il semble que l'arrière-plan/avant-plan soit ignoré lors de l'utilisation de dispatch.
Re : La commande de ligne de référence ne fonctionne pasLe script de Mark dessine les lignes au-dessus de toutes les autres lignes de référence et lignes de grille et lignes ajustées pour moi.
La seule commande pour la framebox que je connaisse, autre que le script, est Grid Line Order et Reference Line Order.
Selon comment et quand vous ajoutez des éléments à la framebox, vous devrez peut-être envoyer un message Inval puis un message Update Window. Ça marche pour moi.Voir ci-dessous. Vous devez mentionner la version de JMP que vous utilisez et 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 : La commande de ligne de référence ne fonctionne pasHmm. J'ai ajouté un script graphique avec V Line aux deux points et je l'ai fait à un niveau de dessin supérieur, mais il n'a toujours pas fait avancer ces lignes ni les dessiner par-dessus tout. J'utilise toujours Send To Report malgré la recommandation car j'ai beaucoup plus de parcelles que je prévois d'inclure et de cette façon, le script est déjà écrit pour moi. Mais cela ne semble pas fonctionner.
Re : La commande de ligne de référence ne fonctionne pasVoici une solution :
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 : La commande de ligne de référence ne fonctionne pasL'Axis Box est responsable de la gestion des lignes de référence. L'ordre des lignes de référence est relatif aux autres lignes de référence, pas aux autres graphiques.Je crois que les lignes sont dessinées en premier (contexte visuel d'arrière-plan), ainsi que toute autre personnalisation d'échelle, avant les scripts graphiques dans la Frame Box (les informations visuelles réelles).
Vous pourriez utiliser Ligne H() ou Ligne V( ) fonctionnent à la place et vous avez alors le contrôle sur le moment où ils sont dessinés par rapport à tout autre élément graphique. Ils sont associés à la Frame Box, pas à la Axis Box.
Nous vous déconseillons d'utiliser la directive Envoyer au rapport. Il est préférable d'envoyer le message directement à l'objet cible.