GraphBuilder에 전송 된 Dispatch () 옵션을 동적으로 변경스크립트의 옵션에 따라 Graph Builder로 전송 된 일부 옵션을 변경해야합니다.작동하도록하는 방법을 알 수 없습니다.
이 스크립트는 그래프 Scale ( "Log"), Format ( "Engineering", 12)을 만드는 데 사용됩니다.
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
그러나 이와 같은 정보를 보내려고하면 나에게 똑같이 보이지만 작동하지 않습니다.
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
이것에 대한 도움을 주시면 감사하겠습니다!
제도법스크립팅Re : GraphBuilder로 전송 된 Dispatch () 옵션을 동적으로 변경여기에서 다른 많은 논의에 대한 답변에서 언급했듯이 보고서로 보내기 인수는 스크립트를 저장할 때 JMP가 사용자 정의를 저장할 수 있도록 개발되었습니다. 우리를 위해 개발 된 것이 아닙니다. 더 나은 방법이 있습니다. 축 상자에 직접 서식 메시지를 보냅니다. 이렇게 :
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
Re : GraphBuilder로 전송 된 Dispatch () 옵션을 동적으로 변경추가하려면 뿡 빵뀨 JMP 플랫폼의 출력에서 다양한 표시 객체로 전달할 수있는 모든 메시지와 기능은 Scripting Index의 예제와 함께 설명됩니다..다양한 JMP 플랫폼의 출력은 디스플레이 트리라고하는 개체로 채워진 구조로 표시됩니다. 따라서 디스플레이 트리에 대한 스크립팅 가이드의 섹션을 읽는 것이 좋습니다.JMP 플랫폼의 출력으로 할 수있는 놀라운 일의 완전히 새로운 세계를 열 것입니다.
Re : GraphBuilder로 전송 된 Dispatch () 옵션을 동적으로 변경두 용어
- 플랫폼 객체 : 그래프 빌더의 논리. 보이지 않습니다.
- 보고서 표면 표시 상자 트리 : 그래프 작성기의 출력. 보이는 그래프, 슬라이더, 버튼.
마크가 맞습니다. 디스패치 구문은 사람이 아닌 기계를 위해 만들어졌습니다. 디스패치 메시지에는 플랫폼 개체가 보고서에서 표시 상자를 찾는 데 사용하는 정보가 포함됩니다.사용해야하는 경우 SendToReport 디스패치는 다음과 같이 보내야합니다.
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);gb 플랫폼 객체입니다. << 파견 메시지가 전송됩니다. 보내지 마십시오 << 파견 보고서 표면에 메시지. SendToReport (...) 플랫폼 개체에 보고서 트리로 메시지를 발송하도록 지시하는 것입니다.
Mark는
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
위의 모든 것에서 gb 그래프 빌더 플랫폼 객체입니다. Mark의 예에서 GB 담당자 그래프 빌더 플랫폼 개체에 속하는 표시 상자 보고서 트리입니다. 보내기 <<보고 에 메시지 gb 플랫폼 개체는 표시 상자 트리 (보고서 표면, 보이는 부분)의 루트를 검색합니다. 루트를 첨자하면 디스플레이 상자 트리의보다 구체적인 하위 트리가 반환됩니다.
gb rep[AxisBox(2)]
이것이 Mark가 Format 메시지를 보내려는 것입니다. 그 첨자를 얻는 한 가지 방법은 Show Tree Structure를 사용하는 것입니다.
트리 구조 표시 : 열기-닫기 삼각형을 마우스 오른쪽 버튼으로 클릭합니다.
보고서와 트리 구조 창이 연결됩니다. 높이 축을 클릭했습니다. 트리 구조의 높이 축과 해당 정보가 모두 강조 표시됩니다. AxisBox (2)는 보고서의 두 번째 축 상자입니다.
Re : GraphBuilder로 전송 된 Dispatch () 옵션을 동적으로 변경감사합니다 Mark, 매우 도움이되었습니다. 그래프 빌더에서 필요한 그래프를 만든 다음 JMP가 생성하는 스크립트를 복사 한 다음 내 변수로 편집하고 작동하지 않습니다. 귀하의 솔루션은 훌륭하게 작동했으며 구현하려는 모든 다양한 변경 사항에 대해 프로세스를 더 잘 이해하는 데 도움이되었습니다.