大家好,
在過去一周左右的時間裡,我一直在研究這個想法,並且@gzmorgan0幫我寫這篇文章
https://community.jmp.com/t5/Discussions/creating-an-index-for-columns-to-point-to-the-graph/mp/71555#M35439
例如,我循環遍歷 5 個連續列和 2 個標稱列,我繪製了 10 列的單向分析(比如 nw2)。 我在表格中獲取了 p 值和其他參數。 我希望表格按 p 值的升序排序。 我可以在新窗口 (nw1) 中放置我的表格並且表格中的每一行(因為該行具有與圖形相關的適當 X 軸和 Y 軸)都應該引用 nw2 中相應的圖形嗎? 表格框(數據表格列框)是正確的策略還是我應該研究其他一些功能?
我感謝任何意見/意見/建議。
Names Default To Here( 1 );
dt = Open( "$Sample_Data/Big Class.jmp" );
ynames = {"weight", "height"};
xnames = {"sex", "age"};
pnames = {};
nw2 = New Window( "Custom Display", vl = V List Box() );
nw2 << Size Window( 724, 395 );
For( i = 1, i <= N Items( ynames ), i++,
For( j = 1, j <= N Items( xnames ), j++,
Insert Into( pnames, ynames[i] || " by " || xnames[j] );
vl << Append(
Oneway(
Y( Column( dt, ynames[i] ) ),
X( Column( dt, xnames[j] ) ),
Box Plots( 1 ),
Comparison Circles( 0 ),
X Axis Proportional( 0 ),
Means Diamonds( 1 ),
Points Jittered( 1 ),
SendToReport(
Dispatch(
{},
"Oneway",
OutlineBox,
{Set Title( Eval Insert( "^ynames[i]^ ^xnames[j]^ Comparison Report" ) )}
)
)
)
);
); //end for j
); //end for i
plb = List Box( pnames, width( 100 ), maxSelected( 1 ) );
nw1 = New Window( "Filter", plb );
_xx = (nw2 << Child) << xpath( "//OutlineBox[@helpKey='Oneway Report']" );
plb << Set Function(
Function( {this},
k = (this << get Selected Indices)[1];
nw2 << Scroll Window( _xx[k] );
)
);
nw1 << Bring Window to Front;
nw2 << Bring Window to Front;
nw1 << Move Window( 10, 10 );
nw2 << move Window( 180, 10 );
//Add a try in case the window is already closed
nw2 << On close( Try( nw1 << Close Window() ) );是的,我認為單個窗口查看器是最好的,但同樣的問題是滾動窗口不適用於嵌套的滾動框。 我已將其報告給 JMP,以便開發人員了解該問題。JMP 支持提供了附加腳本,該腳本演示瞭如何使用 << Get Offset 更可靠地找到位置。
gzmorgan 似乎已經回答了你的問題,但你私信給我,所以我想詳細說明滾動框。附件是對 gzmorgan 使用一個窗口而不是兩個窗口的實現的編輯。
滾動框的缺點是無論出於何種原因,它都不支持 << Scroll Window() 命令。
我不是很理解您的問題,您的代碼似乎可以滿足您的要求。但是,我永遠不會讓一個窗口影響第二個窗口的結果。我建議您將過濾器圖和單向圖放在同一個窗口中,並且可以用滾動框將它們分開。