在我的MATLAB代碼中,我創建了幾個圖形並存儲了它們的手柄。由於某些操作,所有數字都需要關閉。如何打開與其中一個保存的手柄相對應的圖形?顯示對應於某個句柄的圖形(MATLAB)
x=0:0.01:1;
y=x.^2;
h1 = plot(x,y);
...
close all
...
"What next?"
在我的MATLAB代碼中,我創建了幾個圖形並存儲了它們的手柄。由於某些操作,所有數字都需要關閉。如何打開與其中一個保存的手柄相對應的圖形?顯示對應於某個句柄的圖形(MATLAB)
x=0:0.01:1;
y=x.^2;
h1 = plot(x,y);
...
close all
...
"What next?"
這更像是一個變通方法不是有效的解決方案,但如果你能負擔得起的內存/變量創建,你可以使用的getFrame保存圖的內容,而它是開放的,它的關閉後再次顯示它:
clc
clear
x = 1:10;
y = sin(x);
y2 = cos(x);
h1 = plot(x,y);
h1Frame = getframe(gcf);
MyData = h1Frame.cdata;
h2 = plot(x,y2);
close all
imshow(MyData)
希望幫助儘管表面上的缺點:)。當然,你可以概括多個數字和句柄,雖然我重複這可能不是最佳的。這是一個有趣的問題!
如果您有磁盤空間,在生成數字後,使用hgsave
將它們保存爲fig
文件,然後使用hgload
將它們加載回來。
n = 1:10;
x = 0:0.01:1;
K = length(n)
for k = 1:K
h = figure(k)
y = x.^n(k);
plot(x,y)
hgsave(h,sprintf('PowerPlot_n=%d',n(k)));
end
close all
clear all
hgload('PowerPlot_n=4.fig') %for instance
h = gca;
這將製作一堆圖,關閉它們,刪除所有內容,然後將其中一個加載回內存。加載的圖將包含所有XData
和YData
以及其他屬性,就好像您從未關閉它一樣,所以它仍然是可縮放和可編輯的。
過了一段時間,因爲我有一個matlab的副本,但我很確定close會刪除這個數字。也許你可以放棄將能見度關閉?或者,保存到文件? – RishiG 2014-10-20 20:57:08