JSL 스크립팅 질문 : 차트를 하나의 동일한 출력으로 함께 묶는 방법<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕 모두,
나는 JSL 스크립팅이 처음이다.
나는 분석을 위해 사용자가 선택할 컬럼 데이터가 거의 없다.
필자가 작성한 코드는 선택한 열과 동일한 그래프를 여러 개 생성합니다.
모든 그래프를 하나의 출력으로 결합하는 방법을 알고 있습니까?
아무도 나를 코드 / 구문을 제공하는 데 도움이 될 수 있습니까?
코드 (나는 이러한 변수 전달 루틴을 무시했다) :
For (i = 1, i <= tot_entry, i ++,
MyDist = 배포 (
연속 배포 (
열 (eval (분석가) ), 스택 (1), 가로 레이아웃 (1), 일반 퀴리 플롯 (1), 줄기와 잎 (1),
능력 분석 (LSL (eval (lsl)), USL (eval (usl)), 목표 (eval (목표)))),
SendToReport (
Dispatch ({}, "Distribution", OutlineBox, {Set Title ( "배포판"|| 제목)})
)
);
);
제목 : Re : JSL 스크립팅 질문 : 어떻게 하나의 동일한 출력으로 차트를 함께 넣어<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />PMRoz가 언급했듯이이 멋진 스크립트는 JMP9에서 작동하지 않습니다. 다음은 JMP9 및 10에서 약간 변경되었습니다. 패널 상자는 필요하지 않습니다. 방금 데모로 추가했습니다.
내가 취하고 싶은 접근법은 디스플레이 창이나 대화 상자의 일반 구조 또는 레이아웃을 작성한 다음 분석, 그래프 및 표에 드롭하는 것입니다.
배포판 주위에 표시 상자 (HListBox)를 배치하면 여전히 활성 상태입니다. Howver, 한 번 창에 붙여 넣으면 붙여 넣기 또는 추가는 복제 된 또는 비활성 디스플레이 (저널 보고서와 같은)입니다.
그래서 3 단계, 내 동료와 나는 새로운 JSL 사용자에게 가르치고 있습니다 :
1) 레이아웃을 생성하여 일반 디스플레이 용 템플릿을 만들고 창의 각 자리 표시 자에 대한 핸들을 만듭니다
2) 각 분석 또는 분석 그룹 디스플레이 박스 (HListBox 또는 VListBox 또는 OutLineBox 또는 PanelBox) 내에서 "숨겨진"디스플레이를 만듭니다. 등), 다음
3)이 화면 추가 1 단계에서 만든 창에서 자리 표시 자로 이동합니다.
우리는이 빌딩을 디스플레이를 "상향식 (bottom up)"이라고 부릅니다. 이 방법을 사용하면 각 변수 LSL에 대한 서로 다른 사양 제한과 같은 특수한 경우를 훨씬 쉽게 관리 할 수 있습니다. 및 USL 등 단계별로 문제를 디버그합니다.
// ================= 좋은 스크립팅!!
nw = 새 창 ( "Capability Charts", lub), 열기 ( "$ SAMPLE_DATA / Big Class.jmp");
analyzeelist = { "height", "weight"};
tot_entry = N 개 항목 (분석가);
lsl = 80;
usl = 90;
목표 = 70;
title = "내 제목";
nw = 새 창 ( "능력 차트",
pb = 패널 상자 ( "기능",
lub = 라인업 박스 (N Col (1))
));
For (i = 1, i <= tot_entry, i ++,
hlb = HlistBox (배포
연속 배포 (
열 (Eval (분석가) )),
스택 (1), 가로 레이아웃 (1), 일반 퀴리 플롯 (1), 줄기와 잎 (1),
기능 분석 (LSL (Eval (lsl)), USL (Eval (usl)),
목표 (평가 (목표)))),
SendToReport (발송 ({}, "배포",
OutlineBox, {집합 제목 ( "분포"|| 분석 목록 )}))
));
lub << append (hlb)
);
Re: JSL 스크립팅 질문: 여러 차트를 하나의 동일한 출력으로 합치는 방법안녕하세요. MyDist라는 객체를 생성하는 대신, 처음에 비어 있던 Line Up Box에 Distribution을 추가한 다음 해당 Line Up Box를 창에 표시할 수 있습니다. 다음은 이러한 방식을 보여주는데, 제가 여기에 사용한 실제 수치는 귀하의 역량 분석 맥락에서는 의미가 없을 것입니다. JMP 9에서는 작동하지 않을 것 같아서 JMP 10에서 이 작업을 실행하고 있습니다.
Open( "$SAMPLE_DATA/Big Class.jmp" );
분석목록 = {"키", "몸무게"};
tot_entry = N개 항목(분석목록);
lsl = 80;
USL = 90;
목표 = 70;
title = "내 직함";
lub = Lineup Box( N Col( 1 ) );
i = 1, i <= tot_entry, i++에 대해
lub << append( 분포(
연속 분포(
열(Eval(분석자 )),
스택(1), 수평 레이아웃(1), 정규 분위수 그림(1), 줄기와 잎(1),
역량 분석(LSL(Eval(lsl)), USL(Eval(usl)),
대상(평가(대상)))),
SendToReport( Dispatch( {}, "배포",
OutlineBox, {Set Title( "배포 " || title )} ))
)));
nw = 새 창( "역량 차트", lub);
/*
더 나은 서식을 지정할 수 없어서 죄송합니다. 스크립트를 이 창에 직접 붙여넣을 수 없는 것 같습니다. 하지만 스크립트 창에 삽입한 후에는 편집 메뉴에서 서식을 변경할 수 있습니다. 그래프 빌더에서 출력 그리드를 생성한 동일한 작업의 또 다른 예는 다음과 같습니다.
*/
dt = Open( "$SAMPLE_DATA/Car 물리적 데이터.jmp" );
colnames = dt << 열 이름 가져오기(숫자형);
show(열이름);
또는 = 줄을 서세요 box(ncol(3));
for(i=1, i<=nItems(열이름), i++,
lub << append(그래프 빌더(
크기(300, 200), 제어판 표시(0), 범례 표시(0),
변수( X( :Country ), Y( eval(char(colnames )) ) ),
요소(상자 그림(X, Y, 범례(0), 지터(1), 이상치(1), 상자 스타일("이상치")))
))
);
nw = new window("상자 그림", lub);
Re: JSL 스크립팅 질문: 여러 차트를 하나의 동일한 출력으로 합치는 방법모든 서식과 색상을 그대로 유지한 채 스크립트를 붙여넣으려면 먼저 JMP에서 MS-Word로 복사한 다음, Word에서 이 포럼으로 복사합니다. 저는 적절한 들여쓰기를 위해 TAB 문자를 공백 네 개로 바꿉니다. 예를 들어 다음과 같습니다.
디티= 열려 있는( "$SAMPLE_DATA/Car 물리적 데이터.jmp" );
열 이름=디티<<열 이름 가져오기 ( 숫자형 );
보여주다(열 이름 );
그만큼= 라인업 박스( N 열( 3 ) );
을 위한( i = 1, i <= N개 항목(열 이름 ), i++,
그만큼<<추가 (
그래프 빌더 (
크기 (300, 200 ),
제어판 표시 (0 ),
범례 표시 (0 ),
변수 ( X (:국가 ), Y( 평가하다( 숯(열 이름 [ i ] ) ) ) ),
요소 (
상자 그림 (
X,
Y,
전설 (0 ),
지터 (1 ),
이상치 (1 ),
박스 스타일 ("국외자" )
)
)
)
)
);