그래프와 플롯을 다룰 때는 영역을 강조 표시하거나 다른 모양과 구별하기 위해 그래프에서 색상을 채울 필요가 있습니다. 일반적인 모양을 그늘지게하는 방법을 알고 있을지 모르지만 불규칙한 다각형과 등고선 ? Polygon ()을 사용하여 그래픽 도형에 쉽게이 작업을 수행 할 수 있습니다. 데이터 포인트가 필요합니다!

위의 그래프는 환자 모집 예측을 위해 작업 한 그래프입니다 (곧 블로그 게시물을 찾으십시오). 점선은 2.5 점입니다. 일 및 97.5 일 10,000 시뮬레이션의 백분위 수. 실선은 시뮬레이션 된 값의 평균입니다. 이 신뢰 구간을 색상으로 채우면 사람들이 등록 예측의 범위를 이해하는 데 도움이되므로이를 수행하는 방법을 모색했습니다. 처음에는 삼각형의 세 꼭지점을 지정하고 이것을 얻었습니다.

흠 ... 내가 기대했던 것만 큼. 뭐가 문제 야? 분명히이 그래픽은 분명히 삼각형이 아니지만 반드시 삼각형이 아닙니다. 하단 부분이 넓어서 삼각형 음영이 전체 신뢰 구간 대역을 커버 할 수 없습니다. 어떻게 해결할 수 있을까요?
그래픽으로 채우려면 색의 경계와 경계를 구성하는 데이터 점을 알아야합니다. 이 경우, 내 경계는 "삼각형"의 3면이고, 데이터 포인트는 2.5입니다 일 백분위 수와 97.5 일 백분위 수. 세 번째 측면, 즉 수평선 세그먼트는 필요하지 않습니다. 왜냐하면 일단 두면을 구성하기 때문에, JMP 자동으로 두 종점을 직선으로 연결합니다. 그러나 직선이 아닌 세그먼트가있는 경우 JMP에 음영이 중지되는 위치를 알려주는 데이터 요소가 필요합니다.
다음으로 JSL에서는 데이터 세트에서 데이터 포인트를 가져 와서 데이터를 열에 저장하고 정렬합니다.
ds = Data Table( "graphbuilder" );
ds << select where (: data == "예상 2.5 %");
dslow = ds << subset (
출력 테이블 이름 ( "하위 백분위 수"),
선택된 행 (1),
보이지 않는
);
dslow_sort = dslow << sort (By (: 시간), Order (오름차순));
ds << select where (: data == "예측 97.5 %");
dsupp = ds << subset (
출력 테이블 이름 ( "Percentile"),
선택된 행 (1),
보이지 않는
);
dsupp_sort = dsupp << sort (By (: 시간), Order (내림차순));
두 개의 부분 집합 인 dslow와 dsupp는 우리 경계의 데이터 점, 즉 두 개의 점선을 포함합니다. 나는 dslow를 오름차순으로 정렬했으나 JMP는 방향으로 경계를 그리기 때문에 내림차순으로 dsupp를 정렬했습니다. CI 밴드를 시계 방향으로 그리기로 선택했습니다. 파란색 선과 빨간색 선의 교차점에서 시작하여 2.5 일 백분위 수 및 97.5 일 백분위 수입니다. 따라서 97.5 일 백분위 수는 내림차순이어야합니다.
이제 데이터 포인트를 정렬 했으므로 "all"이라는 행렬에 모아 놓아야합니다. 행렬의 x 값은 "xall"이고 행렬의 y 값은 "yall"입니다. 여기서 시간은 x 축이고 숫자는 y 축입니다.
Col1 = Column( dslow_sort, "time" );
tl = col << GetAsMatrix;
Col1 = 열 (dslow_sort, "number");
nl = col << GetAsMatrix;
Col2 = 열 (dsupp_sort, "time");
tu = col << GetAsMatrix;
col2 = 열 (dsupp_sort, "number");
nu = col << GetAsMatrix;
낮은 = tl || nl;
upper = tu || 뉴;
all = lower | / upper;
xall = all [0,1];
yall = all [0,2];
Pen Color( "red" );
채우기 색 ( "red");
투명도 (0.2);
다각형 (xall, yall);

마지막 단계는 쉽습니다. Polygon ()에서 행렬을 호출하고 색을 채 웁니다. 그래프 작성기 문이나 새 창에서 위의 두 번째 상자의 코드를 사용하십시오. 이제 삼각형 밴드가 어느 정도 투명도로 빨간색으로 완벽하게 음영 처리되어야합니다!
마지막 생각들 : 데이터 점이있는 한 모든 형태의 영역을 색상으로 채울 수 있습니다. 다음은 그래픽 스크립트 음영의 또 다른 예입니다. 옵션을 변경하여 만들 수있는 다양한 변형 중 하나를 보여줍니다.

재미있는 음영을하십시오!