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)}
)
));
);