Hola, comunidad de JMP:
Es mi turno de quedar perplejo por un proyecto aparentemente trivial.
Estoy tratando de agregar dinámicamente líneas V a un gráfico del generador de gráficos y obtengo resultados bastante inesperados con el siguiente script de prueba:
Names Default to Here (1);
dt = New Table ("TEST",
New Column ("X", Set Values ([1,2,3,4,5])),
New Column ("Y", Set Values ([3,2,5,8,6]))
);
gb = dt << Graph Builder(
Fit to Window( "Off" ),
Level Frame Color( "Medium Dark Gray" ),
Level Spacing Color( "Medium Dark Gray" ),
Level Underline( 1 ),
Page Level Underline( 0 ),
Spacing Borders( 1 ),
Variables( X( :X ), Y( :Y ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
gbr = gb << report;
Ypos1 = 2;
Ypos2 = 6;
For (i = 1, i<=5, i++,
Xpos = i;
gbr [Framebox (1)] << Add graphics Script (
Pen color (Green);
V Line (1,4,6);
Pen color (Red);
V Line (Xpos, Ypos1, Ypos2);
Pen color (blue);
V Line (i, 6,8);
)
);
Consigo la línea V verde colocada correctamente, obtengo una línea V roja colocada en X = 5, y ninguna línea azul.
Intenté agregar Eval Expr (Expr ()) para toda la expresión y dentro del script gráfico sin éxito, así que estoy seguro de que hay una solución simple que se me escapa a esta hora tardía.
Cualquier ayuda será muy apreciada.
Gracias,
TS
Parece que puedo obtener líneas azules con eval (evalexpr (:
Eval(EvalExpr(gbr [Framebox (1)] << Add graphics Script (
Pen color (Green);
V Line (1,4,6);
Pen color (Red);
V Line (Xpos, Ypos1, Ypos2);
Pen color (Blue);
V Line (Expr(i), 6,8);
)))

Utilizando JMP15.2.1