변수가 있는 그래픽 스크립트 H 라인 추가안녕하세요 여러분,
변수가 있는 그래프 빌더 개체에 수평선을 추가하려고 하는데 이런 식으로 작동합니다.
x = 139.4;
Show( x ); //x = 139.4;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line( x )
);
하지만 내가 그런 짓을 하고 있다면
TR1_row = dt_lims << get selected rows;
TR1 = Column( dt_lims, "CL" )[TR1_row] ;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line(TR1 )
);
작동하지 않습니다. 어떤 아이디어가 있습니까?
Re: 변수가 있는 그래픽 스크립트 H 라인 추가@avner8943 ,
첨부된 내용은 RowState 핸들러를 사용하여 제한을 변경하는 스크립트입니다.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
f= Function({a}, {TR1, i},
print(a, fb);
// show(a, fb);
for(i=1, i<=nitems(fb), i++,
Try( fb[i] << Remove Graphics Script (1) )
);
TR1 = :Limits[dtlims << get selected rows];
Eval (EvalExpr( fb << Add Graphics Script( H Line( Expr( TR1) ) ) ) );
);
gb = dt << Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ), Group X(:sex) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fb = gb << Xpath("//FrameBox");
rs = dtlims << Make RowState Handler(f );
하나 이상의 행을 선택하거나 모든 행 선택을 취소하고 모든 프레임박스의 변경 사항을 확인하세요.

이 스크립트는 JMP 14 및 15에서 테스트되었습니다. 첨부된 내용은 스크립트가 JMP 13에서 작동하도록 26행의 스크립트를 약간 수정한 것입니다.
따라서 스크립트에 다른 문제가 있는 것 같습니다. 이는 RowState Handler 스크립트와 함께 작동하기 때문입니다.
Re: 변수가 있는 그래픽 스크립트 H 라인 추가어쩌면 함수 내에서 이 함수를 호출하고 MakeRowStateHandler에서 이 함수를 호출하기 때문에 함수 외부에서 시도하면 작동합니다.
Re: 변수가 있는 그래픽 스크립트 H 라인 추가@avner8943 ,
다음은 JMP 샘플 데이터 테이블 Big Class를 사용하고 남성만 선택적으로 사용하며 한 번에 3개의 제한을 추가하는 스크립트입니다.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
TR1_row = dtlims << get rows where( :sex =="M");
TR1 = column(dtlims, "Limits")[TR1_row];
gb = dt << Graph Builder( where (:sex=="M"),
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
gbreport = report(gb);
gbreport[FrameBox(1)] << Add Graphics Script( HLine( TR1 ) );
이 플롯을 생성합니다.

선택한 행이 없으면 무엇이 문제인지 확실하지 않습니다.
행운을 빌어요!
Re: 변수가 있는 그래픽 스크립트 H 라인 추가이것은 작동하지만 JMP 테이블의 특정 셀에서 값을 가져오는 스크립트에 이것을 어떻게 조정할 수 있습니까?Re: 변수가 있는 그래픽 스크립트 H 라인 추가@avner8943 ,
H Line()의 구문은 H Line(y), H Line( x1, x2, y)입니다. 또한 값의 벡터가 있는 경우 이 스크립트를 사용해 보세요.
Names Default To Here( 1 );
v = [10, 50, 20];
New Window( "Example",
Graph Box(
Pen Size( 2 );
H Line( v );
)
);
다음 플롯을 생성합니다.

이 스크립트가 귀하에게 적합한지 확인하세요.그렇지 않은 경우 사용 중인 JMP 및 OS 버전을 지정하십시오.