그래프 영역 밖의 주석
그래프 영역 내부에 주석을 달면(도구>주석 사용) 해당 텍스트는 복사될 때 그래프의 일부가 됩니다. 그래프 영역 외부의 주석은 그래프와 함께 복사되지 않는 것처럼 보입니다.
내가 원하는 것은 각 차트의 오른쪽 하단(X축 아래)에 작은 텍스트로 N을 표시하고 차트와 함께 복사되는 모든 스크립트에 드롭할 수 있는 한 줄의 코드입니다.
유사 코드는 Text (<오른쪽 아래>, “n=” || char(<제외되지 않는 행>))
따라서 여러 하위 질문:
- 그래프와 함께 복사되는 주석(도구>주석을 통해)을 얻는 트릭이 있습니까?
- 차트 배경의 오른쪽 하단에 텍스트를 배치하기 위해 어떤 JSL 코드를 사용합니까? (예를 들어 오른쪽 하단에 원점을 정의하는 방법이 있나요?)
- 테이블에서 제외되지 않은 행 수를 얻기 위해 어떤 JSL 코드를 사용합니까? 이것이 명백해야 하는 것 같지만(Rows() - Excluded Rows()와 같은) 보이지 않습니다...
JMP 17, macOS
질문 1에 대해 확실하지 않지만 여기에 << 그래픽 스크립트 추가를 사용하여 그래프 빌더 오른쪽 하단 모서리에 텍스트를 추가하는 스크립트가 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
Report(gb)[FrameBox(1)] << Add Graphics Script(
included_rows = N Rows(dt) - N Items(dt << Get Excluded Rows());
Text Color("Black");
Text(Right Justified,
{X Origin() + X Range(), Y Origin()},
Eval Insert("n=^included_rows^");
);
);

해당 스크립트를 쉽게 재사용할 수 있는 표현식/함수/추가 기능으로 전환할 수 있어야 합니다.
감사! 이는 차트 자체에 숫자를 넣는 데 효과적입니다(아래 예). 차트 영역 아래에 배치하는 방법이 있습니까?
LineupBox(또는 AxisBox)의 오른쪽 하단에 있는 것 같지만 작동 방식을 알 수 없습니다. 제안?

예, JMP 17이 있고 Fit Y by X 플랫폼 대신 Graph Builder로 작업한다고 가정하면 차트 영역 아래에 표시할 수 있는 방법이 있습니다. 트릭은 캡션 상자를 추가한 다음 축 테이블로 설정한 다음 레이블 중 하나를 제외한 모든 항목을 삭제하여 기본값을 덮어쓰는 것입니다(또한 모든 레이블을 표시하려면 눈금 레이블을 "Short Divider"로 변경해야 했습니다) 우발 상황 테이블). 이는 스크립팅을 통해서도 수행할 수 있습니다. 아래 예.


dt = open ("$SAMPLE_DATA\Big Class.jmp");
//Caption box as regular axis table
graph_one = dt << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :age ) ),
Elements(
Mosaic( X, Y, Legend( 6 ) ),
Caption Box(
X,
Y,
Legend( 7 ),
Summary Statistic( "N" ),
Location( "Axis Table" )
)
),
SendToReport(
Dispatch(
{},
"sex",
ScaleBox,
{Label Row( 1, Tick Mark Style( "Short Mark" ) ),
Label Row( 2, Tick Mark Style( "Short Divider" ) )}
)
)
);
//overwritten axis label with custom number (500)
graph_two = dt << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :age ) ),
Elements(
Mosaic( X, Y, Legend( 6 ) ),
Caption Box(
X,
Y,
Legend( 7 ),
Summary Statistic( "N" ),
Location( "Axis Table" )
)
),
SendToReport(
Dispatch(
{},
"sex",
ScaleBox,
{Label Row( 1, Tick Mark Style( "Short Mark" ) ),
Label Row(
2,
{Tick Mark Style( "Short Divider" ),
Tick Mark( Label( "18" ), Label( "" ) ), //<----here
Tick Mark( Label( "22" ), Label( "500" ) )} //<--here
)}
)
)
);