아래 스크립트와 유사하지만 데이터 형식이 다른 목록 상자 플롯을 얻고 싶습니다. 내 데이터는 플롯할 모든 데이터가 처음 두 열에 있는 다음 표와 비슷해 보입니다. 목록 상자의 목록 부분을 테스트 카운트로 만들고 싶습니다. 테스트 카운트를 클릭하면 정방향 및 역방향 모두에 대한 플롯이 생성됩니다. 입력 별을 사용하여 이변량 플롯으로 가능할 것 같습니다 ... 이변량(I1,V1,스윕 유형별, 테스트 횟수별).
이것이 가능합니까? 이 작업을 수행하는 방법에 대한 지침을 얻을 수 있습니까? 저는 JMP 초보자인데 어디서부터 시작해야 할지 잘 모르겠습니다.
내 데이터 형식
| V1 | I1 | 테스트 횟수 | 스윕 유형 |
| 0 | 0 | 1 | 앞으로 |
| 1 | .1 | 1 | 앞으로 |
| 2 | .2 | 1 | 앞으로 |
| 0 | 0 | 1 | 뒤집다 |
| -1 | -.1 | 1 | 뒤집다 |
| -2 | -.2 | 1 | 뒤집다 |
| 0 | 0 | 2 | 앞으로 |
| 1 | .1 | 2 | 앞으로 |
| 2 | .2 | 2 | 앞으로 |
샘플 데이터의 목록 상자 예
// Listbox_Graphs.jsl
// Display one graph at a time using a listbox to select which one
names default to here(1);
dt = open("$sample_data\CrimeData.jmp", invisible);
xcol = "Year";
ycols = {"Population", "Total Rate", "Violent Rate", "Property Rate", "Murder Rate",
"Rape Rate", "Robbery Rate", "Agg-Aslt Rate", "Burglary Rate", "Larceny Rate",
"MVTheft Rate", "Murder", "Rape", "Robbery", "Agg-Aslt", "Burglary", "Larceny",
"MVTheft", "Total", "Violent", "Property", "Latitude", "Longitude"};
gb_expr = {};
for(i = 1, i <= nitems(ycols), i++,
ycol = ycols[i];
// Define an array of graph builder expressions, one for each y column
one_expr = evalinsert(
"\[gb_expr[^i^] = expr(
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "^xcol^" ) ), Y( :Name( "^ycol^" ) ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
),
);
]\");
eval(parse(one_expr));
);
// Code to run when a different y variable is selected
y_list_expr = expr(
y_mtx = y_lb << get selected indices;
y_i = y_mtx[1];
hlb << delete;
vlb << append(
hlb = hlistbox(
eval(gb_expr[y_i])
)
);
);
gw = new window("Graphical Output",
hlistbox(
panel box(
xcol || " vs:",
y_lb = list box(ycols,
width(250),
nlines(20),
max selected(1),
y_list_expr,
)
),
panel box("Graph",
vlb = vlistbox(
hlb = hlistbox(
eval(gb_expr[1]),
)
)
)
)
);
y_lb << set selected(1);
다른 페이지로 설정하면 완벽하게 작동했습니다. 감사합니다!
Response Screening Platform을 사용해 볼 수도 있습니다.분석 결과를 유의미한 순서로 정리한 요약 데이터 테이블을 생성합니다.하나 이상의 매개변수를 선택한 다음 제공된 테이블 스크립트 중 하나를 실행하면 Fit Y by X를 사용하여 산점도가 생성됩니다.따라서 Fit Y by X에서 사용할 수 있는 모든 분석 테스트를 선택한 매개변수에 사용할 수 있습니다.
Names Default To Here( 1 );
dt = Current Data Table();
Response Screening(
Y( :V1, :I1 ),
X( :Test Count, :Sweep Type ),
PValues Table on Launch( 1 )
);

축을 분할한다는 것이 무엇을 의미하는지 잘 모르겠습니다. 추가 그룹화를 사용하여 새 열을 생성하고 이를 다른 로컬 데이터 필터 또는 예를 들어 페이지로 사용할 수 있습니다.
이것은 효과가 있을 수 있습니다. 축을 분할하는 방법이 있나요? 실제 데이터의 전압 및 전류 범위는 훨씬 더 넓습니다.
기능적으로 이것은 훌륭한 시작입니다. 당신의 도움을 주셔서 감사합니다!
로컬 데이터 필터를 사용하는 것만으로도 충분할까요? 테스트 횟수 모델링 유형을 순서 또는 명목으로 변경하면 다음과 같은 결과를 얻을 수 있습니다.

JMP에서 생성된 스크립트:
Graph Builder(
Size(536, 491),
Show Control Panel(0),
Variables(X(:V1), Y(:I1), Group X(:Test Count), Group X(:Sweep Type)),
Elements(Points(X, Y, Legend(46)), Smoother(X, Y, Legend(47))),
Local Data Filter(
Add Filter(
columns(:Test Count),
Where(:Test Count == 1),
Display(:Test Count, N Items(2), "List Display")
)
)
)
편집하다:
예제 데이터 테이블이 포함된 스크립트
더보기...