[JMP12 JSL pour Graph Builder] Échec de l'ajout d'un nouvel élément à chaque positionBonjour, actuellement j'espère ajouter un nouvel élément dans chaque position de mon graphique, un graphique avec un axe X et plusieurs axes Y ;
j'utilise donc le code ci-dessous :
For(jj = 1, jj <= 20, jj++,
gb << Elements( Position( 1, jj ), Points( X, Y , Legend( 1 )), Smoother( X, Y , Legend( 2 ) ) );
);
Cependant, le graphique créé avec ce code ne comporte toujours qu'un seul élément. Je fais un clic droit sur le graphique et il y a 2 éléments affichés.
Lorsque j'effectue une nouvelle analyse, le nouveau graphique est créé comme prévu, mais je ne sais pas pourquoi.
Étant donné que j’utilise désormais JMP12, est-ce dû à la version obsolète ?
FenêtresRe: [JMP12 JSL pour Graph Builder] Échec de l'ajout d'un nouvel élément à chaque positionJe n'ai pas accès à JMP12 pour tester cela, mais cela pourrait suffire si vous évaluez jj
Eval(
EvalExpr(
gb << Elements(Position(1, Expr(jj)), Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
)
);
Re: [JMP12 JSL pour Graph Builder] Échec de l'ajout d'un nouvel élément à chaque positionJ'ai testé le JSL sous JMP 12.2 et pour que la légende apparaisse correctement, j'ai dû faire un changement mineur.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Column( "Ratio", formula( :Height / :Weight ) );
gb = Graph Builder( Variables( X( :age ), Y( :height ), Y( :weight ), Y( :ratio ) ) );
For( jj = 1, jj <= 20, jj++,
Eval(
Eval Expr(
gb << Elements(
Position( 1, Expr( jj ) ),
Points( X, Y, Legend( Expr( jj * 2 ) ) ),
Smoother( X, Y, Legend( Expr( jj * 2 + 1 ) ) )
)
)
)
);
Re: [JMP12 JSL pour Graph Builder] Échec de l'ajout d'un nouvel élément à chaque positionet pour les versions ultérieures de JMP ?
Re: [JMP12 JSL pour Graph Builder] Échec de l'ajout d'un nouvel élément à chaque positionMerci pour votre aide ! Après plusieurs essais avec votre solution, cela a fonctionné mais pas à chaque fois. J'ai donc modifié mon code et découvert que cela pouvait être dû au code utilisé pour modifier la taille/le mode du marqueur.
TotalFrame = gb << xpath("//FrameBox");
For(ii = 1, ii <= N Items(TotalFrame), ii++,
gb << SendToReport(
Dispatch( {}, "Graph Builder", FrameBox( ii ), {Marker Size( 2 ), Marker Drawing Mode( "Outlined" )} ),
);
);
For( jj = 1 ...
Après avoir changé de position, le graphique a été dessiné actuellement :
For( jj = 1 ...
TotalFrame...
Je ne connais pas la raison même si le problème a été résolu...
Merci encore!