스크립트를 편집하기 위한 스크립트표준 등고선 플롯 출력을 가져와 플롯을 열로 다시 정렬하는 스크립트가 있습니다.
에서 이동

에게

텍스트 상자의 위치로 인해 스크립트가 제대로 실행되지 않습니다.
결과를 얻는 다른 방법이 있나요? 없다면 현재 스크립트를 어떻게 조정해서 정렬할 수 있나요? 부모 스크립트가 자식 스크립트에서 찾기/바꾸기를 실행해서 조정을 할 수 있을지 궁금했습니다.
clear Globals();
Delete Symbols();
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Contour Plot" ),
obj = window[i]["Contour Plot?"] << Get Scriptable Object;
Show(obj);
obj << Save Script for All Objects;
obj << Close Window;
Break();
);
);
spt = Window( "Script Window" );
spt << Bring Window To Front;
spt2 = spt[Script Box(1)];
spt2 << Get Line Text( 3 );
spt2 << Set Line Text (3, "Line Up Box( N Col( 3 ), Spacing( 2 ),");
spt2 << run();
spt2 << Close Window;
자동화 및 스크립팅Re: 스크립트를 편집하는 스크립트JMP18을 사용할 수 있다면 가장 높은 수준의 빨간색 삼각형에서 레이아웃을 수정할 수 있습니다.

저는 더 이상 JMP17에 액세스할 수 없고 JMP18에서 다른 옵션을 테스트하기 위해 비슷한 결과를 얻을 수 있는지도 확신할 수 없지만 해당 텍스트 상자를 고려할 수 있습니다(ncol을 6으로 늘리고 숨기거나 ncol을 3으로 유지하고 제거합니다). 또한 어느 열이 by 열로 사용되는지 확인하고 By를 사용하지 않고 해당 정보를 사용하여 플랫폼을 다시 빌드할 수 있습니다(여러 번 실행하고 원하는 대로 포맷).
Re: 스크립트를 편집하는 스크립트current report()["Conto?"]
고맙습니다. 매우 유용하네요:)
Re: 스크립트를 편집하는 스크립트OutlineBoxes 의 스크립트를 수집하고 모든 ( 정보 + 플롯)을 V List Box 에 캡슐화하고 Lineup Box를 통해 V List Box를 정렬할 수 있습니다.
// ask every Outline Box for a scriptable object
obs = (current report() << xpath("//OutlineBox")) << get scriptable object;
// ask the scriptable objects for a script
scripts = obs << get Script;
// prepare a template LineUp Box
myExpr = Expr( Line Up Box( N Col( 3 ), Spacing( 2 )));
// wrap the scripts with V List Box and put them into the template
For each({script}, scripts,
Eval (Substitute(Expr(Insert Into(myExpr, Expr(V list Box (_content_)))), Expr(_content_), Name Expr(script)))
);
// use the template in a new window
New Window("overview", myExpr);
Re: 스크립트를 편집하는 스크립트... 모든 객체에 대한 스크립트를 사용하여 원래 접근 방식에 더 가깝게:
// there is no
// myScript = (current report()[OutlineBox(1)] << get scriptable object) << get Script for All Objects;
// : (
(current report()[OutlineBox(1)] << get scriptable object) << save Script for All Objects;
sw = Window( "Script Window" );
myScript = Parse(sw[Script Box(1)] << get text);
//--------------------------
<BR />// prepare a Template for the Line Up Box
myExpr = Expr( Line Up Box( N Col( 3 ), Spacing( 2 )));<BR />
// take the V list Box - it contains the Countour Plot commands
myScript = (Extract Expr(myScript, V List Box (Wild List())));
// cycle through Contour Plot commands, "wrap" with V List Box and insert into template
For each({command}, Name Expr(myScript), // an I-DONT-CARE of VLBs
wrapped = Insert (Expr(V list Box ()), Name Expr(command));
Insert Into(myExpr, Name Expr(wrapped))
);
// generate the report
New Window("overview", myExpr);
For Each 함수의 프로그래머에게 많은 감사를 전합니다!!
아주 멋진 : )
이건 List, Associative Array, Matrix 뿐 아니라 모든 Expression 과 호환됩니다 

Re: 스크립트를 편집하는 스크립트저는 이것을 조금 다르게 했습니다. 저는 Semiconductor Capability 데이터 테이블에서 등고선 플롯을 생성한 다음 다음 스크립트를 실행했습니다.
Clear Globals();
Delete Symbols();
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Contour Plot" ),
obj = window[i]["Contour Plot?"] << Get Scriptable Object;
Break();
)
);
script = Char( obj << get bygroup script );
obj << Close Window;
Eval( Parse( "New Window(\!"Contours\!",lineupbox(ncol(3), spacing(2)," || script || "));" ) );
이 출력을 얻으려면

Re: 스크립트를 편집하는 스크립트아, 맞아요, get bygroup 스크립트() 는 이미 있었죠. 사실, 이렇게 하면 훨씬 더 쉬워요 : )
(current report()["Contour?"] << get scriptable object) << get by group script
매우 견고합니다.
JMP17과 함께 작동합니다(첫 번째 플롯과 대화)

... 그리고 JMP18(그룹 플랫폼과 대화):

report 명령의 반환 값을 사용하는 경우 스크립트를 1x만 가져오도록 주의해야 합니다.
cp =Contour Plot( ... ,By() ); // returns a list
//cp << get script; // 1 script per plot (N times, message sent to a list)<BR />// cp << get bygroup script; // returns the by group Script N times (message sent to a list)
cp[1] << get bygroup script; // 1x :)</img>
Re: 스크립트를 편집하는 스크립트
@hogi 님이 쓰셨습니다:
... 꽤 견고합니다. JMP17(첫 번째 플롯과 통신)과 JMP18(그룹 플랫폼과 통신)과 함께 작동합니다.
아, 이 문장은 groupby 스크립트를 얻는 방법을 말하는 것일 뿐입니다.
(current report()["Contour?"] << get scriptable object) << get by group script
전부는 아니지만...
JMP 18 이상에서는 스크립트가 GroupPlatform 을 반환하며, Lineup Box로 더 이상 레이아웃을 제어할 수 없습니다.
그러면 이 바깥쪽 부분을 건너뛰고 GroupPlatform을 직접 사용해 레이아웃을 제어할 수 있습니다( @jthi 가 언급한 빨간색 삼각형 옵션).
Lineup Box를 통한 트리 구조(스크립트별 그룹화)

[선택된 아웃라인박스 = 1번째 플롯]
이전 접근 방식을 통한 트리 구조:
