Hola comunidad JMP,
Tengo un problema aparentemente sencillo que no he podido resolver.
En el script a continuación, estoy tratando de agregar anotaciones de texto dinámicamente usando "Agregar script de gráficos" en función de los valores extraídos de la tabla de datos principal (ver adjunto). El problema es que los valores dinámicos reales en varios marcos se establecen en los últimos datos válidos extraídos de la tabla de datos en lugar de asociarse específicamente con cada marco. Sospecho que necesito usar una combinación de "Eval Expr" y "Expr" para obtener el resultado adecuado, pero no he podido encontrar la sintaxis correcta para esta operación. Todas las sugerencias son bienvenidas.
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);
);
);
Cabe destacar que esta es una parte de un script más grande que selecciona filas específicas para trazar en este formato.
Mejor,
TS
Hola Jthi,
Brillante, como siempre. Todavía estoy luchando con la construcción con Eval / Eval Expr / Expr.
Mejor,
TS
Si se trata de Eval (EvalExpr ()), intente esto:
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));
)));Al menos, los valores en el gráfico personalizado parecen actualizarse y los valores no son los mismos en cada uno de los grupos:
