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は正しい色を割り当てることはできますが、その後グラデーションを手動で編集するとエラーが発生します(下記参照)。

したがって、後続の手動編集時にエラーが発生しないように、グラデーション範囲の値を渡す方法が必要です。
ありがとう。
最高、
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)}
)
));
);