Mise à jour de l'instruction Element du générateur de graphesSalut - Je souhaite changer le style du tracé en boîte et moustaches du générateur de graphiques en un tracé de points à partir d'un script JSL. Le générateur de graphes inclut initialement une instruction Elements qui ressemble à ceci :
Elements( Box Plot( Y, Legend( 9 ) ) ),
Je veux donc modifier cette déclaration à partir de JSL pour :
Elements( Points( Y, Legend( 9 ) ) ),
J'ai trouvé les commandes << Ajouter un élément, << Mettre à jour l'élément et << Supprimer l'élément pour GraphBuilderBox dans l'index de script, mais je ne sais pas comment les appliquer pour obtenir l'effet souhaité. L'exemple donné dans l'index (ajout d'une ligne de régression) n'est pas directement lié à ma situation, mais je suppose que j'ai besoin de quelque chose comme ce qui suit, où gb est mon objet Graph Builder :
report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), Y})
Ce n'est évidemment pas correct - j'ai donc juste besoin d'un exemple pour me montrer quelle devrait être la syntaxe correcte. Quelqu'un peut-il m'aider avec ça sil-vous-plait?
Merci beaucoup.
Re : Mise à jour de l'instruction Element de Graph BuilderC'est peut-être inélégant, mais ça marche - et finalement c'est tout ce qui compte !
Merci beaucoup.
Re : Mise à jour de l'instruction Element de Graph BuilderJe vois juste quel est votre problème maintenant. Étant donné que vous utilisez un groupement X et non une variable X réelle, l'indexation des éléments n'est pas standard. Selon les docs :
obj << Get Element(xposition, yposition, i )
Mais, avec un X Grouping, plutôt qu'un X, il semble que le premier élément ne soit pas accessible avec (1,1,1), (0,1,1), (.,1,1) ou tout autre chose que j'ai essayé.Donc, voici ce que j'ai proposé : définissez temporairement une variable X afin que vous puissiez accéder à l'élément, puis supprimez la variable X une fois que vous avez apporté les modifications dont vous avez besoin. Je trouve ça complètement inélégant, mais ça marche. Je vais essayer de savoir s'il existe un moyen approprié d'accéder aux éléments lorsqu'aucun X n'est défini, vous n'avez donc pas besoin de cette solution de contournement.
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
//define an X temporarily
gbb << Add Variable( {:age, Role( "X" )} );
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
//remove the X
gbb << Remove Variable( {:age, Role( "X" )} );
Re : Mise à jour de l'instruction Element de Graph BuilderSalut Julien,
Je suis plus près de comprendre le problème maintenant, mais malheureusement je n'en suis toujours pas là.La différence entre ma situation et votre exemple est que j'utilise une variable de regroupement discrète au lieu d'une variable X continue : la variante suivante de votre script illustre le problème :
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
// How do I modify the following two lines to replace the Box Plot above by Points?
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
Si vous pouvez juste me montrer comment modifier les deux dernières lignes, le problème sera résolu.
Re : Mise à jour de l'instruction Element de Graph BuilderSalut @DMR ,
Update Element() modifiera les propriétés d'un élément existant, mais pour autant que je sache, ne vous permettra pas de modifier le type d'élément dont il s'agit. Essayez de supprimer l'élément existant et d'en ajouter un nouveau. Exemple ci-dessous.
J'espère que cela t'aides!
@julien
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) )
);
Wait(1);
gbb = Report( gb )[Graph Builder Box( 1 )];
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});