Windows 11 > JMP 19 > 腳本指派連續漸變 > 將漸層範圍傳遞給列屬性時出現問題JMP社群的各位好,
我編寫了一個簡單的腳本,根據列值的 0.05 分位數為連續值列分配顏色漸變。
Names Default To Here(1);
dt = current data table ();
scol = dt << Get Selected Columns ();
For (i = 1, i <= N items (scol), i++,
column (dt, scol[i]) << Format("Fixed Dec", 12, 3);
low_mark = Col Quantile(column (dt, scol[i]), 0.05);
high_mark = Col Quantile(column (dt, scol[i]), 0.95);
if(abs(low_mark) > high_mark, bound = -low_mark, bound = high_mark);
range_list = {-bound, bound, 0};
column (dt, scol[i]) << Set Property ("Color Gradient",
{"Blue White Red", Range (Eval list (range_list)),
Color cell by value (1)})
);
雖然 JMP 可以正確分配顏色,但當我隨後手動編輯漸變時,JMP 會傳回錯誤(見下文):

因此,我需要一種方法來傳遞漸變範圍值,而不會在後續手動編輯時觸發錯誤。
謝謝。
最好的,
TS
自動化和腳本編寫回覆:Windows 11 > JMP 19 > 腳本指派連續漸層 > 將漸層範圍傳遞給列屬性時出現問題您缺少表達式求值。
Names Default To Here(1);
dt = Current Data Table();
scol = dt << Get Selected Columns("String");
For Each({colname}, scol,
Column(dt, colname) << Format("Fixed Dec", 12, 3);
low_mark = Col Quantile(Column(dt, colname), 0.05);
high_mark = Col Quantile(Column(dt, colname), 0.95);
If(Abs(low_mark) > high_mark,
bound = -low_mark,
bound = high_mark
);
range_list = Eval List({-bound, bound, 0});
Eval(EvalExpr(
Column(dt, colname) << Set Property(
"Color Gradient",
{"Blue White Red", Range(Expr(range_list)), Color cell by value(1)}
)
));
);