當我從這樣的 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] 希望為每個循環獲得一個單獨的圖表,但這給出了一個錯誤。 -- 存取或評估「分配」時不可下標的值
謝謝大衛,
這實際上正是我正在做的,但它只顯示了最後一個。我最終在我沒有顯示的“額外”腳本的一部分中發現了一個錯誤,一旦修復它就開始正常工作。所以你的回答告訴我,我做得對,並為我指明了找到真正問題的正確方向。謝謝
如果我誤解了「視窗」的含義 - 並且您真正想要的是單個視窗中的大量圖形,那麼您需要將圖形放入容器中(以防止立即渲染),然後將其附加到 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)
);不知道為什麼 - 我希望預設操作是建立單獨的視窗;如這個腳本所示:
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]) ) )
);
)