在Matlab中更新图

时间:2018-11-17 17:26:30

标签: matlab plot graph matlab-figure

我有一个称为x_matrix的时间序列,它是45x100,就像在100个不同时间步长的45个变量中一样。我编写了一个函数,称为plot_network,该函数接受x_matrix的任何列并在图中绘制有向图。我想一个接一个地绘制所有时间步骤,所以我尝试这样做:

for t=1:length(x_matrix)
    plot_network(x_matrix,t)
end

但是,由于plot_network包含以下行:

figure
p  = plot(G)

G是我用x_matrix中数据的边缘构建的图(与此问题无关)

上面的for循环给了我100个数字,我想只有一个数字,但是情节得到了更新。就像在动画中绘制第一个时间步长然后从图形中删除然后在下一个时间步长绘制在同一图形中一样。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

编辑:根据mb567的评论更新了答案。

将图形命令置于plot_network函数之外:

figure
for t=1:length(x_matrix)
    plot_network(x_matrix,t)
end

如果您希望将其作为视频播放,也可以添加“ pause(time_in_seconds)”。