그래프 빌더: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시합니다.안녕하세요,
Graph Builder를 사용하여 점들의 부분 집합을 선분으로 연결하고 나머지 점들에 대한 마커만 표시하려고 합니다. 그러면 제 플롯이 다음과 같이 보일 것입니다 (여기의 선은 설명을 위해 그림에 직접 추가했습니다).

별도의 열을 사용하여 오버레이 기능을 사용해 보았는데, 실제로 각 점 그룹에 대해 별도의 선을 그릴 수 있었습니다. 하지만 선을 제거하고 단일 점 그룹에 대한 마커만 남기거나 그 반대로 할 수는 없었습니다.
JMP 테이블에는 선으로 연결되어야 하는 점들을 각각 4개의 점으로 따로따로 배치했습니다. 이상적으로는 이 4개 점 중 마지막 점이 첫 번째 점에 연결되어야 합니다.
JMP 파일(JMP 18, 일반 버전, PRO 아님)을 첨부하였습니다.
어떠한 제안이나 의견이라도 감사히 받겠습니다.
감사합니다!
블라디미르
데이터 탐색 및 시각화Re: 그래프 작성기: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시
나는 이것을 대화형으로 제작했습니다
- 데이터 테이블에 추가 오버레이 행을 추가하여 시작 지점에서 끝나는 연결선을 추가했습니다.

- 그런 다음 Overlay_column을 색상 드롭 상자로 끌어다 놓았습니다.
- 그런 다음 그래프에 2개의 선을 표시하는 선을 추가했습니다.

- 검은색 선은 원하지 않았기 때문에 검은색 선의 선 색상을 흰색으로 설정했습니다.

- 오버레이되지 않은 데이터의 점 표시가 이상하게 보입니다. 이전에 검은색 선이 점 위에 표시되었기 때문입니다.
- 이제 사용자에게 보이지 않는 흰색 선 위에 표시될 검은색 점을 이동하려면 그래프를 마우스 오른쪽 버튼으로 클릭하고 사용자 정의를 선택했습니다.

- 그런 다음 Marker 0을 선택하고 아래쪽 화살표를 사용하여 검은색 마커를 Line(0) 아래로 이동했습니다.

- 최종 그래프를 생성했습니다.

그래프를 생성할 JSL은 다음과 같습니다.
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Ex ),
Y( :Gxy ),
Overlay( :overlay_column ),
Color( :overlay_column )
),
Elements(
Points( X, Y, Legend( 5 ) ),
Line( X, Y, Legend( 6 ), Row order( 1 ) )
),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Color( 0 ), Marker( "FilledCircle" )},
Item ID( "0", 1 )
),
Properties( 1, {Marker( "Circle" )}, Item ID( "1", 1 ) )
), Legend Model(
6,
Properties( 0, {Line Color( 2 )}, Item ID( "0", 1 ) )
)}
),
Dispatch( {}, "Graph Builder", FrameBox, {Reorder Segs( {1, 2, 5, 6} )} )
)
);
이 문제를 처리하는 다른 방법도 있습니다. 다음은 Add Graphic Script를 사용하여 선을 그리는 간단한 JSL 메서드입니다.

Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :Ex ), Y( :Gxy ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Gxy", ScaleBox,
{Min( 0.781114518510881 ), Max( 3.84890945699133 ), Inc( 0.5 ),
Minor Ticks( 0 )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "Red" );
Line( {5, 1}, {5.5, 3.5}, {10, 3}, {11, 1.5}, {5, 1} );
)}
)
)
);
오버레이 열과 행이 필요하지 않습니다.
Re: 그래프 작성기: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시안녕하세요 @블라디미르B ,
원하시는 대로 만들 수는 있겠지만, 이 방법은 점들이 원하는 대로 연결되도록 행의 순서를 정해야 하므로 정말 불편합니다. 따라서 이 시점에서는 점들을 선택해서 멋진 닫힌 모양을 만들 수는 없습니다. 하지만 예시에서 데이터가 올바르게 정렬되어 있으므로 원하는 결과를 얻을 수 있습니다.

선택한 행의 값만 반환하는 두 개의 새 열(열 4와 열 5)을 만든 다음, 열 4와 열 5에서 선택된 가장 낮은 값을 반환할 수 있는 더미 행을 끝에 추가하여 도형을 닫았습니다.


4번째 열을 두 번째 Y축으로 추가하고 5번째 열을 두 번째 x축으로 추가했으며, 점 요소는 Gxy와 Ex만 따르고 선 요소는 행 순서에서 Col4와 Col5만 따르도록 했습니다.
그래서 조금 어색할 수도 있지만, 목표에 도달하는 데 도움이 되고, 여러분이나 다른 사용자가 뭔가를 더 좋게 만들도록 영감을 줄 수도 있습니다!
스티브
Re: 그래프 작성기: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시안녕하세요 @블라디미르B ,
그래서 질문하신 것처럼 연결된 점들을 만들 수 있는 인터랙티브 기능을 만들고 싶어서, 점들을 인터랙티브하게 연결할 수 있는 스크립트를 만들었습니다. 첨부된 스크립트를 사용하면 점들을 선택하고 선분으로 연결할 수 있습니다.
실행하면 Y축과 x축 열로 사용할 열을 묻습니다.

확인을 누르면 세 개의 열이 생성되고 새 창이 팝업됩니다.

이 시점에서 테이블 스크립트를 실행할 수 있습니다.

이것이 당신에게 이것을 제공합니다

이제 사용자 인터페이스 창에서 지점을 선택한 다음 "값 설정"을 클릭할 수 있습니다.

그런 다음 새 지점을 선택하고 "값 설정" 버튼을 다시 눌러 두 지점을 연결할 수 있습니다.

모든 포인트가 선택될 때까지 이 작업을 반복하세요.

모든 지점을 선택한 후 "완료" 버튼을 클릭하여 선을 시작 지점에 연결합니다.

지점을 놓쳤다면 해당 지점을 선택하고 "값 설정"을 누르면 잠시 동안 엉뚱한 모양으로 표시됩니다.

하지만 "중간 지점 삽입" 버튼을 사용하여 수정할 수 있습니다. 이 경우 8번 지점은 5번 지점 뒤에 있어야 하므로, 버튼을 클릭할 때 5를 입력하고 확인을 누르세요.

그리고 Bam! 포인트가 재정렬되었습니다

다시 시작해야 하는 경우 "값 지우기" 버튼을 누르세요.
도움이 되셨으면 좋겠습니다! 또한, 이 기능이 다양한 용도에 적합하지 않을 수 있으니, 방금 보여드린 워크플로 방식 외에는 버그가 있을 가능성이 높습니다.
안녕하세요 @호기 ,
당신이라면 제가 한 것보다 훨씬 더 유용하게 만들 수 있을 거라고 확신해요.
스티브
Re: 그래프 작성기: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시TXNELSON, 정말 고맙습니다!
정말 좋은 해결책을 제시해 주셨네요! 스크립트도 훌륭하고요! 꼭 한번 시도해 볼게요!
모든 가이드라인에 대한 빠르고 자세한 답변에 정말 감사드립니다!
~ 블라디미르
Re: 그래프 작성기: 선분을 사용하여 점의 하위 집합을 연결하고 다른 점에 대한 마커만 표시SHAMPTON82, 정말 감사합니다!
정말 좋은 해결책을 제시해 주셨네요! 시도해 볼게요.
모든 가이드라인에 대한 빠르고 자세한 답변에 정말 감사드립니다!
그리고 대화형 솔루션도 만들었네요!
저에게는 매우 유익한 내용이었습니다!
감사합니다!
~ 블라디미르