expr y evalexpr para los límites de gradiente de Graph BuilderEstoy intentando configurar un script que generará un generador de gráficos con un gradiente mínimo y máximo igual a los valores cuantiles de la columna que se está trazando.
Desafortunadamente, la sintaxis expr y evalexpr que estoy usando no funciona para la matriz en "Valores de escala".
Necesito ayuda.
dt0 = current data table();
param = "Voltage";
colp = dt0:param;
graph_high = Quantile( 0.975, column(dt0, param) << get as matrix() );
graph_low = Quantile( 0.025, column(dt0, param) << get as matrix() );
cmd = expr(
Graph Builder(
Size( 550, 550 ),
Show Control Panel( 0 ),
Variables(
X( :x ),
Y( :y ),
Color( :expr(param) )
),
Elements( Points( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties(
0,
{gradient( {Scale Values( [expr(graph_low) expr(graph_high)] )} )}, // *Need Help Here*
Item ID( expr(param), 1 )
)
)}
)
)
);
);
eval(evalexpr(cmd));Exploración y visualización de datosLa personalización en masaRe: expr y evalexpr para los límites de gradiente de Graph BuilderNo tengo sus datos para validar, pero esto debería funcionar:
dt0 = current data table();
param = "Voltage";
colp = dt0:param;
graph_high = Quantile( 0.975, column(dt0, param) << get as matrix() );
graph_low = Quantile( 0.025, column(dt0, param) << get as matrix() );
val matrix = [](1,0) || graph_low || graph_high;
cmd = expr(
Graph Builder(
Size( 550, 550 ),
Show Control Panel( 0 ),
Variables(
X( :x ),
Y( :y ),
Color( :expr(param) )
),
Elements( Points( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties(
0,
{gradient( {Scale Values( Expr( val matrix ) )} )}, // *Need Help Here*
Item ID( expr(param), 1 )
)
)}
)
)
);
);
eval(evalexpr(cmd));Re: expr y evalexpr para los límites de gradiente de Graph BuilderMuchas gracias. Esto funcionó.
Ahora que me diste la idea de crear una matriz usando variables y luego poner esa matriz en el script Graph Builder, decidí jugar. Parece que no necesito usar Expr() alrededor de la "matriz val".
Encuentro que esto también funciona:
dt0 = current data table();
param = "Voltage";
colp = dt0:param;
graph_high = Quantile( 0.975, column(dt0, param) << get as matrix() );
graph_low = Quantile( 0.025, column(dt0, param) << get as matrix() );
val matrix = matrix( {graph_low, graph_high} );
cmd = expr(
Graph Builder(
Size( 550, 550 ),
Show Control Panel( 0 ),
Variables(
X( :x ),
Y( :y ),
Color( :expr(param) )
),
Elements( Points( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties(
0,
{gradient( {Scale Values( val matrix )} )},
Item ID( expr(param), 1 )
)
)}
)
)
);
);
eval(evalexpr(cmd));