Bonjour la communauté JMP,
J'ai un problème apparemment simple que je n'arrive pas à résoudre.
Dans le script ci-dessous, j'essaie d'ajouter dynamiquement des annotations de texte à l'aide du "Add Graphics Script" basé sur les valeurs extraites de la table de données principale (voir ci-joint). Le problème est que les valeurs dynamiques réelles sur les multiples images sont toutes définies sur les dernières données valides extraites de la table de données au lieu d'être spécifiquement associées à chaque image. Je soupçonne que je dois utiliser une combinaison de "Eval Expr" et "Expr" pour obtenir le résultat approprié, mais je n'ai pas réussi à trouver la bonne syntaxe pour cette opération. Toutes les suggestions sont les bienvenues.
Names Default to Here (1);
dt = data table ("TS_DATA_TABLE_MOCK");
fdr_data = dt:FDR << Get Values ();
show (fdr_data);
gb = dt << Graph Builder(
Size( 832, 835 ),
Fit to Window( "Off" ),
Variables(
X( :"DURATION (Week)"n ),
Y( :LSMEAN ),
Wrap( :M_ID ),
Overlay( :ARM ),
Interval( :STDERR )
),
Elements( Points( X, Y, Legend( 31 ) ), Line( X, Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"LSMEAN",
ScaleBox,
{Add Ref Line( 0, "Solid", "Gray", "", 2 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
31,
Base( 0, 0, 0, Item ID( "A", 1 ) ),
Base( 1, 0, 0, Item ID( "B", 1 ) )
)}
)
)
);
gbr = report (gb);
nfr = N items (gbr << Xpath ("//FrameBox"));
For (i = 0, i <= nfr-2, i++,
a_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 4], "PValue"));
a_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 6], "PValue"));
b_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 3], "PValue"));
b_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 5], "PValue"));
locfr = gbr [FrameBox (i+1)];
locfr << add graphics script (
Text size (8);
Text color (blue);
Text (Center Justified, {4, -0.15}, a_fdr4);
Text (Center Justified, {14, -0.15}, a_fdr14);
Text color (green);
Text (Center Justified, {4, -0.2}, b_fdr4);
Text (Center Justified, {14, -0.2}, b_fdr14);
);
);
Il convient de noter qu'il s'agit d'une partie d'un script plus vaste qui sélectionne des lignes spécifiques à tracer dans ce format.
Meilleur,
TS
Salut Jthi,
Génial, comme toujours. J'ai toujours du mal avec la construction avec Eval / Eval Expr / Expr.
Meilleur,
TS
Si c'est Eval(EvalExpr()), essayez ceci :
Eval(EvalExpr(locfr << add graphics script(
Text Size(8);
Text Color(blue);
Text(Center Justified, {4, -0.15}, Expr(a_fdr4));
Text(Center Justified, {14, -0.15}, Expr(a_fdr14));
Text Color(green);
Text(Center Justified, {4, -0.2}, Expr(b_fdr4));
Text(Center Justified, {14, -0.2}, Expr(b_fdr14));
)));Au moins les valeurs du graphique personnalisé semblent être mises à jour et les valeurs ne sont pas les mêmes dans chacun des groupes :
