일방 통행내 스크립트에는 플롯 할 Y 값 목록이 있습니다. OneWay 플롯에 대해 "X"및 "By"열을 선택하는 대화 상자가 있습니다. 그런 다음 축 설정을 포맷하려고하지만 X 축 열 (예 : "By Wafer")과 By 값 (예 : "Lot = 1234")에 이어 Y2의 "Oneway Analysis"라는 이름을 지정합니다. . 전체적으로 그것은 "Y1 by Wafer Lot = 1234의 일차 해석"
축 서식을 자동화 할 수 있도록 Dispatch 절로 가져 오는 방법이 있습니까?
list_y = { "Y1", "Y2" };
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ));
if(dlg["Button"] == 1,
xCol = dlg["x"];);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ));
if(dlg["Button"] == 1,
byCol = dlg["by"]);
OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ),
SendToReport(
Dispatch({"Oneway Analysis of Y1"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )}),
Dispatch({"Oneway Analysis of Y2"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )})
));다시 : OneWayxpath를 사용하여 모든 Oneway 개체를 선택한 다음 Dispatch 메시지를 한 번에 모든 개체에 보냅니다. 귀하의 데이터는 없지만, By 변수가 있더라도 샘플 데이터 라이브러리의 Big Class 데이터에서 훌륭하게 작동했습니다. * 직접 * 작동해야합니다.
list_y = {"Y1", "Y2"};
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ) );
If( dlg["Button"] == 1,
xCol = dlg["x"]
);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ) );
If( dlg["Button"] == 1,
byCol = dlg["by"]
);
//Name the oneway analysis object 'tmp'
tmp = OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ) );
//get the window containing the one-way analysis
win = tmp << report;
//Select all the oneway objects and alter all the y-axes
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);
다음은 Big Class의 또 다른 예입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
win = (dt << Oneway( Y( {:height, :weight} ), X( :age ), By(:Sex) )) << Report;
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);
다시 : OneWay감사! 이것은 제가 알지 못했던 정말 멋진 기능입니다.
필자의 코드에서는 20-40 열에서 y 목록으로 플롯 할 수 있으며, 다른 y 축 형식이 필요합니다. 귀하의 솔루션은 모든 동일한 형식을 업데이트하는 데 적합합니다. 아래의 방법은 개별 플롯의 특정 형식을 지정할 수 있습니까?
다시 : OneWayxpath를 사용하여 윤곽선 상자의 제목을 검사하여 플롯 할 응답을 결정한 다음 해당 응답에 대한 축 설정을 조건부로 설정할 수도 있습니다. 이것은 20-40 가지의 잠재적 반응으로 꽤 털이 나옵니다.다시 : OneWayYou might find it easier to apply the formatting as part of the column properties in the data table, if you don't mind all plots (and the data table) using the same format for each column.