데이터 테이블 / 행 상태와의 폴리 세그 연관markerseg ()를 사용하여 가능한 한 데이터 테이블에 폴리세트 세그먼트를 연결하여 세그먼트를 선택하면 행이 강조 표시됩니까?
예를 들어
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt_sum = dt << Summary(
Group( :sex ),
Freq( "None" ),
Weight( "None" )
);
dt_sum:sex << Set Labelled;
gb = graphbox();
fb = gb[framebox(1)];
new window("Test",
gb
);
fps = polyseg([70, 90, 90, 70], [30, 30, 10, 10]);
fb << append seg(fps);
mps = polyseg([10, 30, 30, 10], [30, 30, 10, 10]);
fb << append seg(mps);
ms = markerseg([80, 20], [50, 50], row states(dt_sum));
fb << append seg(ms);
//can I assign fps to row 1 and mps to row 2 so that when I click them
// they select in both tables (since the tables are linked)다시 : 데이터 테이블 / 행 상태와 폴리 seg 연결오 멋지다! 나는 그들을 사용하지만 행 상태를 허용하는 것을 잊어 버렸다. 감사!
다시 : 데이터 테이블 / 행 상태와 폴리 seg 연결나는 shapeseg ()가 사용법을 배우기 위해 약간의 시간이 걸렸던 행 상태에 실제로 매핑 할 수있게했지만 지금은 꽤 잘 작동하고 있음을 발견했다.
다시 : 데이터 테이블 / 행 상태와 폴리 seg 연결죄송합니다. 폴리곤 센터를 찾기 위해 스크립트를 추가하는 것을 잊었습니다. JMP 14 기능이라고 생각합니다. 따라서 이전 버전을 사용하는 경우 다각형의 첫 번째 점을 사용하고 점을 매우 작게 만들고 다각형 선의 폭을 2 이상으로 설정하면 "보이지 않음"이어야합니다.
참고 먼저 포인트를 작성하여 배경에 놓습니다. JMP가 완벽하게 구현했다는 것을 알았 듯이, 포인트 당 모든 행 상태 특성. 선택되지 않은 경우 사라지는 선택 모드가 점에 표시됩니다.
이 솔루션은 색상 만 테이블과 동기화 할 수 있다는 점에서 부분적입니다. 커브와 폴리곤에이 기능을 사용하는 것이 좋습니다. 또한 각 내장 프레임 박스와 관련된 mousebox / 콜백에 액세스하거나, framebos를 참조하고 mousebox를 추가하는 것이 좋습니다.
다시 : 데이터 테이블 / 행 상태와 폴리 seg 연결빈스,
첨부 된 스크립트를 사용해보십시오. 완전한 해결책은 아닙니다. 이 스크립트는 Marker Segs에 의해 내장 된 행 상태 핸들러에 의존합니다. 마커 segs가 없으면이 스크립트는이 디스플레이에 범위가 지정된 행 상태 핸들러를 추가해야합니다. 핸들러 함수는 행 상태가 변경되면 프레임 박스 및 업데이트 윈도우에 Inval을 전송해야합니다.
이 스크립트를 확장하려면 다각형의 중심을 찾고 markerseg를 추가하면 모든 추가 스크립팅은 기존 JMP 내장 코드에 의해 처리됩니다.
희망이 도움이됩니다.
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt_sum = dt << Summary(
Group( :sex ),
Freq( "None" ),
Weight( "None" )
);
dt_sum:sex << Set Labelled;
gb = graphbox();
fb = gb[framebox(1)];
new window("Test",
gb
);
mpolyseg = Function({xmat, ymat, states=[]},{i,scrp=Expr(Glue()), c, rs=0},
show(states);
if(
IsMatrix(states) & nrow(states)==0
| //or
IsList(states) & nitems(states) ==0,
states=J(nrow(xmat),1,0),
Type(states) == "Table",
rs=1
);
For(i=1, i<=nrow(xmat), i++,
If(rs,
c = Parse(EvalInsert("Color Of(As Row State((^states^<<GET row="" states=""></GET>이 함수는 또한 고정 된 상태 또는 색상을 지정할 수 있습니다.
또 다른 방법은 행 상태 핸들러를 만들고 모든 창을 찾고 모든 프레임 박스 (xpath 사용) 및 inval을 찾고 모든 창을 업데이트하는 것입니다.