0

我希望我的图表固定轴,并一张一张地绘制数据。一切都是已知的,但是如果我使用延迟来删除第一组数据,它也会忘记轴上的限制并自动为第二组数据分配新的限制。每次在同一图中绘制单独的数据块时,是否可以以某种方式保持轴相同?

现在的代码是:

figure(4)
grid on 
axis([xL yL zL])
for j = 1:n     % n is amount of data sets
    for i = 1:2 % two items drawn per data set
        *plot data*
        hold on
    end

    %This part has to be done every iteration again in order to make it work now
    axis([xL yL zL])  
    xlabel = ...
    ylabel
    zlabel
    title

pause(tstop)
hold off
end

经过一番搜索,我发现的唯一相关主题是;Matlab:在不总是调用 xlabel、ylabel、xlim 等的情况下,在一个循环中绘制一个带有暂停和暂停的子图 但是我根本不明白。它使用父图、replacechildren、nextplot 等我不熟悉的,也找不到太多信息。

4

1 回答 1

1

这是一个可以轻松适应您的需求的示例:

xlim([0 10]) %// set x-axis limits
ylim([0 10]) %// set y-axis limits
set(gca,'nextplot','replacechildren') %// prevent axis limits from changing with
%// each new plot

plot(3:8,3:8); %// note axis limits are kept as [0 10]
pause(1)
plot(5:7,5:7); %// note axis limits are kept as [0 10]
于 2014-11-05T00:12:22.577 回答