오버레이 변수로 그래프 빌더 선 너비 변경오버레이 변수를 지정했을 때 Graph Builder에서 선 너비를 변경할 수 있기를 원하지만 해당 변수의 값이 무엇인지(또는 몇 개의 값이 있는지) 미리 알 수 없습니다. 커뮤니티 게시물을 기반으로 다음을 시도했습니다.
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
For(i = 1, i <= N Items(fbs), i++,
frame = fbs[i];
seg = (frame << Find Seg("Line Seg"));
seg << Set Line Width(1);
);하지만 이렇게 하면 한 줄의 두께만 변경됩니다(이 경우에는 :sex=="F").
감사해요!
데이터 탐색 및 시각화Re: 오버레이 변수로 그래프 빌더 선 너비 변경Find Segs
정말 유용한 기능이네요! 관련 문서가 있나요?
Re: 오버레이 변수로 그래프 빌더 선 너비 변경안녕하세요 매튜,
간단한 해결책은 Find Seg를 Find Segs 로 바꾸는 것입니다. 이렇게 하면 모든 선분을 찾을 수 있습니다(각 성별에 하나씩, 총 두 개가 있습니다). 그리고 너비를 필요한 대로 바꿀 수 있습니다.
게다가 프레임 박스(또는 그래프)가 1개뿐이기 때문에 여기서는 For 루프가 필요 없습니다. 당신이 언급한 커뮤니티 게시물을 찾았는데, 그 예에서는 프레임 박스가 2개 있습니다.
따라서 다음과 같이 코드를 단순화할 수 있습니다.
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
seg = (fbs << Find Segs("Line Seg"));
seg << Set Line Width(1);
도움이 되길 바랍니다!