[Graph Builder용 JMP12 JSL] 각 위치에 새 요소를 추가하지 못했습니다.안녕하세요. 현재 차트의 각 위치에 새로운 요소를 추가하고 싶습니다. X축이 하나 있고 Y축이 여러 개 있는 차트입니다.
그래서 아래 코드를 사용했습니다:
For(jj = 1, jj <= 20, jj++,
gb << Elements( Position( 1, jj ), Points( X, Y , Legend( 1 )), Smoother( X, Y , Legend( 2 ) ) );
);
하지만 이 코드로 만든 차트는 여전히 요소가 1개만 있는 반면, 차트를 마우스 오른쪽 버튼으로 클릭하면 요소가 2개 표시됩니다.
다시 분석을 실행하면 예상대로 새 차트가 생성되었지만 왜 그런지는 모르겠습니다.
지금은 JMP12를 사용하고 있는데, 오래된 버전이 원인인가요?
윈도우Re: [그래프 빌더용 JMP12 JSL] 각 위치에 새 요소를 추가하지 못했습니다.이것을 테스트하기 위해 JMP12에 액세스할 수 없지만 jj를 평가하면 충분할 수 있습니다.
Eval(
EvalExpr(
gb << Elements(Position(1, Expr(jj)), Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
)
);
Re: [그래프 빌더용 JMP12 JSL] 각 위치에 새 요소를 추가하지 못했습니다.JMP 12.2에서 JSL을 테스트했고, 범례가 제대로 나타나도록 하기 위해 사소한 변경이 필요했습니다.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Column( "Ratio", formula( :Height / :Weight ) );
gb = Graph Builder( Variables( X( :age ), Y( :height ), Y( :weight ), Y( :ratio ) ) );
For( jj = 1, jj <= 20, jj++,
Eval(
Eval Expr(
gb << Elements(
Position( 1, Expr( jj ) ),
Points( X, Y, Legend( Expr( jj * 2 ) ) ),
Smoother( X, Y, Legend( Expr( jj * 2 + 1 ) ) )
)
)
)
);
Re: [그래프 빌더용 JMP12 JSL] 각 위치에 새 요소를 추가하지 못했습니다.JMP의 이후 버전에서는요?
Re: [그래프 빌더용 JMP12 JSL] 각 위치에 새 요소를 추가하지 못했습니다.도와주셔서 감사합니다! 귀하의 솔루션을 여러 번 시도한 후 작동했지만 항상 작동하지는 않았습니다. 그래서 코드를 수정했고 마커 크기/모드를 변경하는 데 사용된 코드로 인해 발생할 수 있음을 발견했습니다.
TotalFrame = gb << xpath("//FrameBox");
For(ii = 1, ii <= N Items(TotalFrame), ii++,
gb << SendToReport(
Dispatch( {}, "Graph Builder", FrameBox( ii ), {Marker Size( 2 ), Marker Drawing Mode( "Outlined" )} ),
);
);
For( jj = 1 ...
위치를 바꾼 후 현재 차트가 다음과 같이 그려졌습니다.
For( jj = 1 ...
TotalFrame...
이유는 모르겠지만 문제는 해결되었습니다...
다시 한번 감사드립니다!