Poly seg與數據表/行狀態的關聯有沒有辦法將poly segs與數據表關聯,就像你可以使用markerseg()一樣,以便選擇段也突出顯示行?
例如
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt_sum = dt << Summary(
Group( :sex ),
Freq( "None" ),
Weight( "None" )
);
dt_sum:sex << Set Labelled;
gb = graphbox();
fb = gb[framebox(1)];
new window("Test",
gb
);
fps = polyseg([70, 90, 90, 70], [30, 30, 10, 10]);
fb << append seg(fps);
mps = polyseg([10, 30, 30, 10], [30, 30, 10, 10]);
fb << append seg(mps);
ms = markerseg([80, 20], [50, 50], row states(dt_sum));
fb << append seg(ms);
//can I assign fps to row 1 and mps to row 2 so that when I click them
// they select in both tables (since the tables are linked)Re:Poly seg與數據表/行狀態的關聯好酷!我已經使用過它們,但忘了它允許行狀態。 謝謝!
Re:Poly seg與數據表/行狀態的關聯我發現shapeseg()允許我真正映射到行狀態,這需要學習使用,但現在它工作得很好。
Re:Poly seg與數據表/行狀態的關聯糟糕,我忘了添加腳本來查找多邊形中心。 我相信這是JMP 14的功能。 因此,如果您使用的是早期版本,則使用多邊形中的第一個點,使點變得更小,並且多邊形線寬度為2或更多,則點應為“不可見”。
注意我首先創建點,使其在後台。 正如您所指出的那樣,JMP完全實現了每個點的所有行狀態特徵。因此,對於點,可以看到未選中時褪色等選擇模式。
這個解決方案只是部分,因為它只允許顏色與表同步。為曲線和多邊形提供此功能會很不錯。也很高興能夠訪問與每個內置框架相關聯的鼠標框/回調,或引用框架和添加鼠標框。
Re:Poly seg與數據表/行狀態的關聯文斯,
嘗試附加的腳本。這不是一個完整的解決方案。 這個腳本依賴於行狀態處理程序,顯然是由Marker Segs內置的。 如果沒有標記segs,此腳本將需要添加一個作用於此顯示的行狀態處理程序。處理程序函數需要在行狀態更改時向框架和更新窗口發送Inval。
為了擴展這個腳本,我會找到多邊形的中心並添加一個markerseg,這樣所有額外的腳本都將由現有的JMP內置代碼處理。
希望這可以幫助。
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt_sum = dt << Summary(
Group( :sex ),
Freq( "None" ),
Weight( "None" )
);
dt_sum:sex << Set Labelled;
gb = graphbox();
fb = gb[framebox(1)];
new window("Test",
gb
);
mpolyseg = Function({xmat, ymat, states=[]},{i,scrp=Expr(Glue()), c, rs=0},
show(states);
if(
IsMatrix(states) & nrow(states)==0
| //or
IsList(states) & nitems(states) ==0,
states=J(nrow(xmat),1,0),
Type(states) == "Table",
rs=1
);
For(i=1, i<=nrow(xmat), i++,
If(rs,
c = Parse(EvalInsert("Color Of(As Row State((^states^<<GET row="" states=""></GET>此功能還允許指定固定狀態或顏色。
另一種方法是創建行狀態處理程序並查找所有窗口並查找所有框架(使用xpath)和inval並更新所有窗口。