我试图通过以下方式在不同的窗口中绘制多个集合:
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
然而,在执行时,有多个图在同一图中彼此重叠。如何在每次迭代时创建单独的图形/图形而不包含先前的信息?
答案 0 :(得分:0)
使用“figure”后跟“hold on”命令应该在循环的每次迭代中创建一个新的图。如果每个轴/图中有两个以上的图(您有两个图调用),则一个图调用会创建多个图/图。当cell2mat(...)导致矩阵而不是向量时就是这种情况,在这种情况下,每列都被绘制为单独的图。如果确实存在这个问题,您可以选择要绘制的列
data = cell2mat(...);
plot(Qa_plot, temp(:,columnIdx), '--r', ....)