다시 실행할 때 그래프 빌더 업데이트 축에 대한 사전 그래프를 갖는 방법은 무엇입니까?안녕하세요 여러분,
Windows 11 시스템에서 JMP/JMP Pro를 실행합니다.
매우 특정한 종류의 문제를 해결하는 방법과 자동으로(수동이 아닌) 수행하는 방법이 궁금합니다. 예를 들어, Air.jmp 샘플 데이터 테이블을 사용하여 당면한 문제를 보여주고 있습니다. 문제를 보여주기 위해 스크립트와 함께 파일 사본을 첨부했습니다.
매일(때로는 매주) 데이터를 추가하는 데이터 테이블이 있고, 데이터와 날짜를 표시하는 스크립트가 데이터 테이블에 내장되어 있습니다. 이를 모방하기 위해 Air.jmp 데이터 테이블을 두 부분으로 나누고 그래프 빌더 그래프를 만든 다음 "새"(데이터의 두 번째 절반)를 다른 테이블의 첫 번째 절반에 연결하고 스크립트를 다시 실행했습니다.
이상적으로는 다음과 같이 그래프 작성기 날짜 x축이 자동으로 가장 최근 날짜로 조정되는 출력을 얻고 싶습니다.

대신 해당 그래프 빌더 스크립트의 마지막 버전을 데이터 테이블에 저장했을 때의 값으로만 업데이트되는 그래프를 얻습니다. 따라서 출력은 다음과 같습니다.

이는 데이터 포인트만 그래프로 표시하고 축 증분을 수정하지 않는 경우에는 발생하지 않습니다. 이 데이터 세트(전반기)에 대한 축의 기본 증분은 2년입니다. 데이터의 후반부를 추가하고 데이터 테이블에서 스크립트를 다시 실행하면 기본값이 5년으로 재설정되고 모든 데이터가 그래프로 표시됩니다.
그러나 예를 들어 기본 증분을 1개월로 변경하고 스크립트를 데이터 테이블(상반부)에 저장한 다음 새 데이터를 추가하고 스크립트를 다시 실행하면 축 설정이 원본과 동일하게 유지됩니다. 스크립트 - 새 데이터를 포함하도록 업데이트되지 않습니다. 스크립트의 가장 큰 차이점은 SendToReport 명령입니다.
SendToReport(
Dispatch(
{},
"date",
ScaleBox,
{Min( 1597574016 ), Max( 1925078400 ), Interval( "Month" ), Inc( 1 ),
Minor Ticks( 1 )}
)
)이 명령에는 원본 데이터 테이블의 기존 날짜 범위에 따라 수정되는 Min() 및 Max() 날짜 설정이 있습니다. 이 제한 사항이 왜 있고 데이터 테이블에 추가되고 스크립트가 다시 실행되는 새 날짜를 반영하도록 업데이트되지 않는지 잘 모르겠습니다.
월 간격을 유지하고 x축을 중첩하여 월도 연도별로 그룹화하면서 이 문제를 해결할 수 있는 방법이 있습니까? 테이블에 새 데이터를 추가하고 스크립트를 다시 실행한 후 새 그래프에서 원본 데이터 테이블이 아닌 최신 데이터 테이블의 Min() 및 Max() 설정을 사용하고 싶습니다.
이 문제를 쉽게 해결할 수 있기를 바랍니다. 그렇지 않으면 축의 Min() 및 Max() 입력이 데이터 테이블의 관련 열 내의 현재 값에 의해 자동으로 업데이트될 수 있도록 변경되도록 위시리스트 요청을 넣을 것 같습니다.
어떤 생각이나 피드백이라도 미리 감사드립니다!
DS
데이터 혼합 및 정리데이터 탐색 및 시각화대량 맞춤화Re: 재실행 시 그래프 빌더 업데이트 축에 대한 사전 그래프를 설정하는 방법은 무엇입니까?안녕하세요 @jthi 님 ,
고마워요, 됐어요! 저는 그래프 빌더의 Min() 및 Max() 인수에 Expr(Col Min( )) 및 Expr(Col Max( ))를 사용하는 것을 선호합니다. 그리고 놀랍게도 JMP는 그래프의 양쪽 끝에서 패딩 작업을 수행합니다. 이는 그래프의 시간 척도에 따라 어떻게든 조정되어야 합니다. 이 데이터 세트에서 알 수 있듯이 패딩은 366일입니다.
빠른 답변 감사합니다!,
DS
Re: 재실행 시 그래프 빌더 업데이트 축에 대한 사전 그래프를 설정하는 방법은 무엇입니까?플롯에 빈 공간이 있어도 괜찮다면 sendtoreport에서 최소값과 최대값을 제거하면 됩니다.
Graph Builder(
Size(522, 456),
Show Control Panel(0),
Graph Spacing(4),
Variables(X(:date), Y(:Ozone Concentration)),
Elements(
Points(X, Y, Legend(3)),
Smoother(
X,
Y,
Legend(4),
Lambda(0.0000231899600250505),
Confidence of Fit(1)
)
),
SendToReport(
Dispatch(
{},
"date",
ScaleBox,
{Interval("Month"), Inc(1),
Minor Ticks(1), Label Row Nesting(2)}
)
)
)

또는 다른 옵션은 스크립트를 사용하여 계산한 다음 이를 추가하는 것입니다(JMP가 빈 값을 추가하기로 결정한 경우에도 약간의 크기 조정을 수행해야 할 수도 있습니다).
Eval(EvalExpr(
Current Data Table() << Graph Builder(
Size(522, 456),
Show Control Panel(0),
Graph Spacing(4),
Variables(X(:date), Y(:Ozone Concentration)),
Elements(
Points(X, Y, Legend(3)),
Smoother(
X,
Y,
Legend(4),
Lambda(0.0000231899600250505),
Confidence of Fit(1)
)
),
SendToReport(
Dispatch(
{},
"date",
ScaleBox,
{Min(Expr(Col Min(:date))), Max(Col Max(col max(:date))), Interval("Month"), Inc(1),
Minor Ticks(1), Label Row Nesting(2)}
)
)
)
));
