데이터 테이블에 히트 맵 생성 및 스크립트로 색상 그라디언트 업데이트안녕하세요,
데이터 테이블에서 히트 맵으로 플로팅하고 싶은 데이터가 많습니다. 아래에 샘플 데이터 테이블 이미지 이미지와 데이터 테이블에 히트 맵을 생성하기 위해 수행하는 단계를 첨부했습니다. 다음 단계를 따릅니다.
- Tabulate를 사용한 후 데이터 테이블 가져 오기
- 모든 열을 쌓습니다 ( 'type'제외). 그런 다음 전체 데이터 세트의 요약을 수행하여 최소값, 중앙값 및 최대 값을 찾으십시오.
- 2 단계에서 최소, 중앙값 및 최대 값을 가져 와서 색상 그라디언트 값에 넣습니다.
이 단계를 실행 한 후 데이터 테이블의 결과는 다음과 같습니다. 현재 저는 3 단계를 수동으로 수행합니다. 여기서 어떤 값을 얻든 요약 포스트에 색상 그라데이션 값을 입력합니다. 요약 데이터 테이블에서 스크립트로 값 (최소, 중앙값, 최대 값)을 가져 와서 색상 그라디언트에 입력하는 방법이 있습니까?
샘플 데이터 세트도 첨부했습니다.


데이터 테이블스크립팅Re : 데이터 테이블에 히트 맵 생성 및 스크립트로 색상 그라디언트 업데이트다음은 색상 그라디언트를 설정할 JSL입니다.
names default to here(1);
dt=current data table();
dt:"Group:0, test:A"n << set property("color gradient",{"Green Yellow Red", Range(
{-142.439058836207, -42.6065023706896, -97.9221899694684}
)});
필요한 목록에 값을 삽입하는 가장 쉬운 방법은 아래와 유사한 코드를 사용하는 것입니다.
Max = -142.439058836207;
Min = -42.6065023706896;
Mid = -97.9221899694684;<BR />
Eval(
Substitute(
Expr(
dt:"Group:0, test:A"n << set property(
"color gradient",
{"Green Yellow Red", Range( {__Max__, __Min__, __Mid__} )}
);
),
Expr( __Max__ ), Max,
Expr( __Min__ ), Min,
Expr( __Mid__ ), Mid
)
);Re : 데이터 테이블에 히트 맵 생성 및 스크립트로 색상 그라디언트 업데이트입력 해 주셔서 감사합니다! 나는 당신의 스크립트를 좋은 시작점으로 사용하고 있지만 더 역동적으로 만들고 싶었습니다.
- 따라서 스크립트에서 최대, 최소 및 중간 값을 수동으로 설정하면 이미지의 2 단계에서 출력 요약 테이블에 의해 값이 설정 될 수 있습니다. 기본적으로이 max, min 및 mid는 Group : 0 test : AI의 범위에 있습니다. AI는 전체 테이블에 대해 범위 최대, 최소 및 중간을 가져 오려고합니다.
- 내 스크립트에 Color Cell by Value (1)를 추가해야했고 역 스케일도 설정하려고 시도했으며이 작업을 수행하는 방법에 대한 아이디어가 오류 메시지를 받고 있습니까?
- 또한 필요한 모든 열에서 색상 그라디언트를 실행하는 것이 안전하지만 보낸 코드 외부의 for 루프가 있습니까? 아니면 다른 방법이 있습니까?
names default to here(1);
dt=current data table();
dt:"Group:0, test:A" << set property("color gradient",{"Green Yellow Red", Range(
{-142.439058836207, -42.6065023706896, -97.9221899694684}
)});
Max = -142.439058836207;
Min = -42.6065023706896;
Mid = -97.9221899694684;
Eval(
Substitute(
Expr(
dt:"Group:0, test:A"n << set property(
"color gradient",
{"Green Yellow Red", Range( {__Max__, __Min__, __Mid__} )},
)
:dt << Color Cell by Value( 1 );
),
Expr( __Max__ ), Max,
Expr( __Min__ ), Min,
Expr( __Mid__ ), Mid
)
);Re : 데이터 테이블에 히트 맵 생성 및 스크립트로 색상 그라디언트 업데이트다음은 Big Class 샘플 데이터 테이블의 열 색상 지정을 자동화하는 예입니다.이 스크립트에서 분기하여 데이터로 작업 할 수 있어야합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = dt << get column names( continuous, string );
For( i = 1, i <= N Items( colList ), i++,
Eval(
Substitute(
Expr(
Summarize(
dt,
myMax = Max( As Column( __col__ ) ),
myMin = Min( As Column( __col__ ) ),
myMid = Mean( As Column( __col__ ) )
);
Column( __col__ ) <<
set property(
"color gradient",
{"Green Yellow Red",
Range( {__Max__, __Min__, __Mid__} ), "Reverse Scale"}
) << Color Cell by Value( 1 );
),
Expr( __col__ ), colList[i],
Expr( __Max__ ), myMax,
Expr( __Min__ ), myMin,
Expr( __Mid__ ), myMid
)
)
);Re : 데이터 테이블에 히트 맵 생성 및 스크립트로 색상 그라디언트 업데이트스크립트를있는 그대로 (큰 클래스 데이터 세트 사용) 실행하면 충돌이 발생하고 아래 메시지가 표시됩니다.
Name Unresolved: myMax in access or evaluation of 'myMax' , myMax/*###*/
at line 25 in Script 4.jsl