일부 사용자 지정 그래프 용 도구를 작성 중입니다. 도구를 공유하는 사용자가 도구를 쉽게 수정하기를 바랍니다. 입력 장벽을 줄이기 위해 마스터 함수 내에서 호출하는 하위 함수를 사용하고 싶습니다. 각 하위 기능은 전체 주요 기능 중 더 작은 부분을 나타냅니다.
내 질문 : 그래프 빌더의 'Dispatch'인수를 함수로 대체 할 수 있습니까? 아니면 내가 아는 작은 하위 함수를 만드는 다른 표준 접근 방식이 있습니다.
Jim에게 철저한 답변을 해주셔서 감사드립니다. 나는 그것을 텍스트로 전달하고 어떻게 든 파싱해야 할 것이라고 생각했지만 확실히 추악하다는 것을 예상하지 못했습니다! 오 잘, 나는 이것이 내가 그런 틈새 요구 조건을 가지고 지불하는 대가라고 생각한다. 이것은 나를 위해 완벽하다. 필자의 목표는 최종 사용자가 혼자 남겨 둘 수 있다는 점에서 내가 마스터 함수 인 Im의 추악한 코드를 숨길 수있는 한. 나는 지금 커뮤니티에서 일하는 사람이지만 JMP에서 스크립팅에 대한 경험이 많아지면 도움을 갚을 수 있기를 바랍니다.
여기 당신이 원하는 것을 이루는 코드가 있지만, 그다지 예쁘지 않습니다. 당신이 원하는 것은 대체 코드 생성을 할 수있는 것입니다. JMP에서는 그 코드가 잘 처리되지 않습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
myfunc = Function( {},
return =
"\[Dispatch(
{},
"2",
ScaleBox,
{Min( 92.9916666666667 ), Max( 127 ), Inc( 5 ), Minor Ticks( 1 ),
Add Ref Line( 118.356215277778, "Solid", "Black", "", 1 )}
)]\"
);
Eval(
Substitute(
Expr(
Bivariate( Y( :NPN1 ), X( :PNP1 ), SendToReport( __dispatch__ ) )
),
Expr( __dispatch__ ), Parse( myfunc )
)
);
JMP는 플랫폼 구조 내에서 최소값 전달과 같은 구성 요소의 교체를 처리 할 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
mymin = 80;
Bivariate(
Y( :NPN1 ),
X( :PNP1 ),
SendToReport(
Dispatch(
{},
"2",
ScaleBox,
{Min( Eval( mymin ) ), Max( 127 ), Inc( 5 ), Minor Ticks( 1 ),
Add Ref Line( 118.356215277778, "Solid", "Black", "", 1 )}
)
)
);
또는 기본 그래프를 생성 한 후 원하는 함수를 호출하여 조건부로 원하는 항목을 설정할 수있는 생성 후 매개 변수를 설정하는 것이 좋습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
myfunc = function({},
Report( biv )[Axis Box( 1 )] << Min( 80 );
);
biv = Bivariate(
Y( :NPN1 ),
X( :PNP1 ),
SendToReport(
Dispatch(
{},
"2",
ScaleBox,
{Min( 92.9916666666667 ), Max( 127 ), Inc( 5 ), Minor Ticks( 1 ),
Add Ref Line( 118.356215277778, "Solid", "Black", "", 1 )}
)
)
);
myfunc;안녕 짐,
답장을 보내 주셔서 감사합니다. 그러나 나는 내 문제를 좀 더 분명하게하려고 노력할 것이다.
내 JSL 스크립트의 Graph Builder에서 다음과 같은 코드 블록이 있다고 가정 해 보겠습니다.
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(... etc예를 들어이 예제에서는 선의 색상을 사용자 정의하고 있습니다.
다음과 같은 다른 JSL 스크립트에서 함수를 만들 수 있습니까?
myDispatch=Function(
{},
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(.... etc그런 다음 JSL 스크립트 내에서 dispatch 함수 대신 myDispatch ()를 사용합니다.
나는 이것을 시도하고 어떤 오류도 기록하지 않지만 내 기능을 적용하지 않는다. (즉, 그래프는 기본 선 색상 등을 사용하고 내 기능은 무시한다.) 명시 적으로 그래프 빌더 자체에 인수를 입력하지 않아도 작동하지 않습니다.
많은 감사
당신이 보는 경우 :
도움말 ==> 스크립팅 인덱스 ==> 그래프 빌더
플랫폼에 요청을 전달하여 Graph Builder에서 조작 할 수있는 다양한 구성 요소를 모두 볼 수 있습니다. 이 모든 것을 사용자 빌드 기능에 넣을 수 있습니다.
