Agregar línea Graphics Script H con variableHola a todos,
Estoy intentando agregar una línea horizontal al objeto generador de gráficos con variable, de esta manera funciona
x = 139.4;
Show( x ); //x = 139.4;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line( x )
);
Pero si estoy haciendo algo así
TR1_row = dt_lims << get selected rows;
TR1 = Column( dt_lims, "CL" )[TR1_row] ;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line(TR1 )
);
No funciona, ¿alguna idea?
Re: Agregar línea H de Graphics Script con variable@avner8943 ,
Se adjunta un script que utiliza un controlador RowState para cambiar los límites.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
f= Function({a}, {TR1, i},
print(a, fb);
// show(a, fb);
for(i=1, i<=nitems(fb), i++,
Try( fb[i] << Remove Graphics Script (1) )
);
TR1 = :Limits[dtlims << get selected rows];
Eval (EvalExpr( fb << Add Graphics Script( H Line( Expr( TR1) ) ) ) );
);
gb = dt << Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ), Group X(:sex) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fb = gb << Xpath("//FrameBox");
rs = dtlims << Make RowState Handler(f );
Seleccione una o varias filas o borre todas las selecciones de filas y vea los cambios en todos los cuadros de marco.

Este script fue probado en JMP 14 y 15. Se adjunta una ligera modificación del script en la línea 26 para que funcione en JMP 13.
Entonces debe haber algún otro problema con su secuencia de comandos, porque funciona con una secuencia de comandos RowState Handler.
Re: Agregar línea H de Graphics Script con variableTal vez porque lo hago dentro de una función y llamo a esta función desde MakeRowStateHandler, cuando lo intento fuera de la función está funcionando.
Re: Agregar línea H de Graphics Script con variable@avner8943 ,
Aquí hay un script que usa la tabla de datos de muestra JMP Big Class y usa selectivamente solo Hombres y agrega 3 límites a la vez.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
TR1_row = dtlims << get rows where( :sex =="M");
TR1 = column(dtlims, "Limits")[TR1_row];
gb = dt << Graph Builder( where (:sex=="M"),
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
gbreport = report(gb);
gbreport[FrameBox(1)] << Add Graphics Script( HLine( TR1 ) );
Produce esta trama.

No estoy seguro de cuál parece ser el problema, a menos que no haya filas seleccionadas.
¡Buena suerte!
Re: Agregar línea H de Graphics Script con variableEsto está funcionando, pero ¿cómo puedo ajustarlo a mi script que toma valor de una celda específica en la tabla JMP?Re: Agregar línea H de Graphics Script con variable@avner8943 ,
La sintaxis de H Line() es H Line(y), H Line( x1, x2, y). Además, si tiene un vector de valores, pruebe este script.
Names Default To Here( 1 );
v = [10, 50, 20];
New Window( "Example",
Graph Box(
Pen Size( 2 );
H Line( v );
)
);
Produce esta trama:

Compruebe si este script funciona para usted.Si no es así, especifique qué versión de JMP y sistema operativo está utilizando.