그래프 빌더의 상자 그림이나 단방향 그림에 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수를 표시하는 방법이 있습니까?내 작업에서는 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수 + Excel 상자 그림의 평균을 표시합니다(이 작업은 힘들고 시간이 많이 걸립니다). JMP oneway 또는 그래프 빌더에서 이를 복제할 수 있는 방법이 있습니까?
andrew.botfield@geochemistry.com.au
데이터 탐색 및 시각화대량 맞춤화답: 스크립트는 X 변수 중 하나에만 수염을 표시합니다. 그러나 동일한 스크립트 예는 두 성별 모두에 표시됩니다.훌륭 해요, 고맙습니다!
답: 스크립트는 X 변수 중 하나에만 수염을 표시합니다. 그러나 동일한 스크립트 예는 두 성별 모두에 표시됩니다.......N Items(byGroup).....으로 변경하면 일반 설정이 됩니다.
For( i = 1, i <= N Items( byGroup ), i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
답: 스크립트는 X 변수 중 하나에만 수염을 표시합니다. 그러나 동일한 스크립트 예는 두 성별 모두에 표시됩니다.알아냈어요 – 테이블 맨 아래에 있는 행을 삭제하고 숫자 2 대신에 3을 만들어야 했습니다(X축 표시 개수라고 가정) – 우와!
( i = 1, i <=의 경우 삼 , 나는 ++,
matx = [0, 0];
matx[1] = 행렬( i - 1 - .18 );
matx[2] = i - 1 + .18;
마티 = [0, 0];
matY[1] = 행렬( myMat[i] );
matY[2] = 행렬( myMat[i] );
라인( matx, maty );
);
);
);
답: 스크립트는 X 변수 중 하나에만 수염을 표시합니다. 그러나 동일한 스크립트 예는 두 성별 모두에 표시됩니다.안녕하세요 짐,
아래 텍스트를 사용하면 X 변수 중 하나에만 수염이 나타납니다. 모든 X 변수에 표시되도록 아래 스크립트를 어떻게 수정하시겠습니까? 첨부된 내용도 참조하세요. 도움을 주셔서 미리 감사드립니다!
Names Default To Here( 1 );
dt = Open( "Insitu Compiled.jmp" );
// Get the statistics
Summarize(
dt,
byGroup = By( :Oxidation ),
p05 = Quantile( :Total %S for data, .05 ),
p10 = Quantile( :Total %S for data, .10 ),
p90 = Quantile( :Total %S for data, .90 ),
p95 = Quantile( :Total %S for data, .95 ),
Mean = Mean( :Total %S for data, ),
Min = Min( :Total %S for data, ),
Max = Max( :Total %S for data, )
);
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :Oxidation ), Y( :Total %S for data ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) )
);
statList = {"p05", "p10", "p90", "p95", "Mean", "Min", "Max"};
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Color( orange );
Pen Size( 1 );
Line Style( "Solid" );
For( s = 1, s <= N Items( statList ), s++,
myMat = Eval( Parse( statList[s] ) );
For( i = 1, i <= 2, i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
);
);

Re: 그래프 빌더의 상자 그림이나 단방향 그림에 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수를 표시하는 방법이 있습니까?수염 질문을 제외한 모든 질문에 대한 답변은 스크립팅 인덱스에서 확인할 수 있습니다.
도움말==>스크립팅 색인
왼쪽에 있는 개체 및 기능 목록을 아래로 스크롤하면 그래픽이라는 선택 항목을 찾을 수 있습니다.클릭하면 사용할 수 있는 모든 그래픽 기능이 표시됩니다.
수염의 경우 색상과 선 두께만 변경할 수 있으며 색상과 두께는 전체 상자 그림에 적용됩니다.
그렇게 하기로 선택한 경우 Graph Box()를 사용하여 자신만의 상자 그림을 그릴 수 있습니다.
Re: 그래프 빌더의 상자 그림이나 단방향 그림에 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수를 표시하는 방법이 있습니까?안녕하세요 짐, 정말 환상적이네요(대본을 갖고 놀았는데 잘 작동하네요. 다음에 대한 추가 스크립트 단서를 제공해 주실 수 있나요? (미리 감사드립니다.)
1. 추가된 여러 통계 그룹에 대해 서로 다른 색상을 지정하는 방법은 무엇입니까? (예: 평균 대 분위수 값)
2. 표시된 선의 두께를 변경하는 방법은 무엇입니까?
삼. 새로 추가된 통계를 그래프에 쉽게 표시할 수 있는 방법이 있나요? (예: 캡션 등)
4. 이상한 수염을 제거하고 새로운 능력치 수염으로 교체하는 쉬운 방법이 있습니까?
Re: 그래프 빌더의 상자 그림이나 단방향 그림에 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수를 표시하는 방법이 있습니까?안녕하세요 짐 - 너무 빨리 돌아와서 정말 감사합니다. 시도해 보고 알려드리겠습니다. 건배!Re: 그래프 빌더의 상자 그림이나 단방향 그림에 95번째, 90번째, 75번째, 50번째, 25번째, 10번째 및 5번째 백분위수를 표시하는 방법이 있습니까?이를 수행하는 선택 가능한 방법은 없지만 출력에 간단한 스크립트를 추가하면 수행할 수 있습니다.다음은 .05,.10,평균,.90 및 .95 줄을 추가하는 스크립트입니다..25, .5 및 .75는 Box Plot을 통해 자동으로 생성됩니다.
스크립트는 다음과 같습니다.
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
// Get the statistics
Summarize(
dt,
byGroup = By( :sex ),
p05 = Quantile( :height, .05 ),
p10 = Quantile( :height, .10 ),
p90 = Quantile( :height, .90 ),
p95 = Quantile( :height, .95 ),
mean = Mean( :height )
);
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) )
);
statList = {"p05", "p10", "mean", "p90",
"p95"};
Report( gb )[FrameBox( 1 )] <<
Add Graphics Script(
Pen Color( Black );
For( s = 1, s <= N Items( statList ), s++,
myMat = Eval( Parse( statList[s] ) );
For( i = 1, i <= 2, i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
);
);