將多個圖形框附加到單一窗口,而不複製最近的附加內容我正在嘗試創建一個窗口,其中附加了幾個圖形框,以幫助可視化我正在處理的數據。我的設定與此類似。
thisWindow = new window("Test Window");
for(x = 1, x <=nitems(thingsToDraw), x++,
thisWindow << append(
graph box(
(setup of X and Y axis, scales and such)
(for loops that create dynamic shapes in the graph box)
);
);
);問題是,每次附加一個新的圖形框時,它都會更改所有先前的圖形框以匹配新的圖形框。我確信有一種方法可以隔離圖錶框,以便它們在添加新圖錶框後停止相互更新,但我無法弄清楚。如果我透過尺寸和設定使盒子都獨一無二,它們似乎不會互相複製。但這違背了循環的目的,也違背了我首先嘗試創建它們的原因。我嘗試將其設為函數並調用它,以及將其設置為動態計算的表達式。兩個結果是一樣的。
我正在使用 JMP 14。
回覆:將多個圖形框附加到單一窗口,而不複製最近的附加內容哈!這就是我所需要的。我試圖找出如何以某種方式複製它,因為我認為這會更容易,但我找不到方法。複製圖片然後將其添加到圖片框效果非常好!我可以只抓取圖形框本身,而無需軸標籤等圖像,這改進了我想要做的事情。
謝謝!
回覆:將多個圖形框附加到單一窗口,而不複製最近的附加內容這個例子示範了我建議的方法。
Names Default to Here( 1 );
nw = New Window( "Multiple Plots",
vlb = V List Box()
);
a = [ 1, 2, 3, 4 ];
b = [ 2, 4, 6, 8 ];
c = [ 4, 3, 2, 1 ];
d = [ 8, 6, 4, 2 ];
For( plot = 1, plot <= N Row( a ), plot++,
Eval(
Substitute(
Expr(
vlb << Append(
Graph Box(
X Scale( -6, 6),
Y Name( "Amplitude" ),
Y Scale( -10, 10 ),
Y Function( aa + bb * Sine( cc * x / dd ), x )
)
);
),
Expr( aa ), a[plot],
Expr( bb ), b[plot],
Expr( cc ), c[plot],
Expr( dd ), d[plot]
)
);
);回覆:將多個圖形框附加到單一窗口,而不複製最近的附加內容這是一個簡單的解決方案。它不會將 Graph Box() 複製到輸出窗口,而是複製圖形框的圖片。
thisWindow = new window("Test Window");
for(x = 1, x <=nitems(thingsToDraw), x++,
thisWindow << append(
graph box(
(setup of X and Y axis, scales and such)
(for loops that create dynamic shapes in the graph box)
)<<GET picture=""></GET>回覆:將多個圖形框附加到單一窗口,而不複製最近的附加內容我敢打賭,您的所有圖形腳本都使用相同的變量,並且您在每次迭代時都會更改這些變數中的值。 如果是這種情況,那麼所有繪圖都會使用新值重新繪製。 您必須將每個圖形腳本的變數轉換為文字值。