當我像這樣從dt構建圖形時:
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
效果很好。但是,如果將它們全部循環放置,希望在各自的窗口中生成一組圖形(每個列標籤一個),則它只會更新第一個圖形:
for(i = 1, i <= N Items(analysisTests), i++,
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
);如何獲得顯示一組圖形的圖表,每個圖形都在自己的窗口中?似乎是因為它要求基於數據表的圖,所以我需要多個數據表,每個數據表都具有自己的圖,但是似乎應該有一種更簡單的方法。我嘗試gb [i]希望為每個循環獲取一個單獨的圖形,但這會產生錯誤。 -在訪問或評估``分配''時不具有下標價值
不知道為什麼-我希望默認操作是創建單獨的窗口;如以下腳本所示:
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
for (i=1,i<=nitems(cols),i++,
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
);
)
如果我誤解了“窗口”的含義,而您真正想要的是在一個窗口中包含大量圖形,則需要將圖形放入容器中(以防止立即顯示該圖形),然後將其附加到pre -現有的顯示框(在此示例中為hlb)
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
NewWindow("Demo",
hlb = HListBox()
);
for (i=1,i<=nitems(cols),i++,
content = VListBox(
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
)
);
hlb << append(content)
);謝謝大衛,
這實際上正是我在做的,但只顯示了最後一個。我最終在我未顯示的“額外”腳本的一部分中發現了一個錯誤,一旦修復,它便開始正常工作。因此,您的回答表明我做得對,並指出正確的方向來找到真正的問題。謝謝