expr 和 evaexpr 用於圖形產生器梯度限制我正在嘗試設定一個腳本,該腳本將生成一個圖形生成器,其梯度最小值和最大值等於正在繪製的列的分位數值。
不幸的是,我使用的 expr 和 evaexpr 語法不適用於「比例值」中的矩陣。
我需要幫助。
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));數據探索和視覺化大規模客製化回复:用於 Graph Builder 梯度限制的 expr 和 evalexpr我沒有要驗證的數據,但這應該可以:
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));回复:用於 Graph Builder 梯度限制的 expr 和 evalexpr非常感謝。 這行得通。
既然您給了我使用變量創建矩陣,然後將該矩陣放入 Graph Builder 腳本的想法,我決定嘗試一下。 看起來我不需要在“val 矩陣”周圍使用 Expr() 。
我發現這也有效:
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));