2014-09-05 133 views
0

多個圖形我想要繪製在以下方式不同的窗口了多套:繪製在MATLAB

Qa_plot = (start:step:stop); 

for i = 1 : nImg 
    custom_title = strcat(custom_title, int2str(i)); 
    figure; 
    hold on 
    xlabel('Qa') 
    ylabel('TV') 
    title(custom_title) 
    plot(Qa_plot, cell2mat(TV_original), '--r', 'userdata', '-- original') 
    plot(Qa_plot, cell2mat(TV_attacked), '-b', 'userdata', '- dithered') 
    legend(get(gca, 'children'), get(get(gca, 'children'), 'userdata')) 
end 

然而,也有重疊在一起在執行同一圖中多個圖形。我如何在每次迭代時創建一個單獨的圖形/圖形,而不包含以前的信息?

+1

在循環中調用'figure'應該創建不同的數字;出於好奇,它是否會改變,如果你評論傳說的呼籲? TV_original和TV_attacked都不使用循環索引「i」是否正常? – 2014-09-05 11:37:08

+0

這是問題所在。 – Sebi 2014-09-05 12:01:14

+1

傳說你的意思是?很高興知道分享的感謝! – 2014-09-05 12:10:42

回答

0

使用「figure」後跟「hold on」命令應該在循環的每次迭代中創建一個新圖。如果每個軸/圖中有兩個以上的圖(您有兩個圖表調用),則一個圖表調用會創建多個圖/圖。當cell2mat(...)產生一個矩陣而不是一個向量時,情況就是這樣,在這種情況下,每一列被繪製爲一個單獨的圖。如果真的是這個問題,你可以選擇要繪製哪一列

data = cell2mat(...); 
plot(Qa_plot, temp(:,columnIdx), '--r', ....)