添加帶有變量的圖形腳本 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 )
);
這不起作用,有什麼想法嗎?
回复:添加帶有變量的圖形腳本 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 上進行了測試。 附件是對第 26 行腳本的輕微修改,以便該腳本可以在 JMP 13 上運行。
所以您的腳本肯定還有其他問題,因為這適用於 RowState Handler 腳本。
回复:添加帶有變量的圖形腳本 H 行也許是因為我在函數內部執行此操作並從 MakeRowStateHandler 調用此函數,當我在函數外部嘗試它時,它正在工作。
回复:添加帶有變量的圖形腳本 H 行@avner8943 ,
以下腳本使用 JMP 示例數據表 Big Class,並有選擇地僅使用 Males 並一次添加 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 ) );
它產生了這個情節。

不確定問題是什麼,除非沒有選定的行。
祝你好運!
回复:添加帶有變量的圖形腳本 H 行這是可行的,但我如何將其調整為從 JMP 表中的特定單元格獲取值的腳本。回复:添加帶有變量的圖形腳本 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 和操作系統版本。