在for循环中同时绘制两个图

12次浏览(最近30天)
默比乌斯
默比乌斯 2020年3月28日
编辑: 默比乌斯2020年3月28日
嘿,伙计们,
我有一组数据,想要用for循环像动画一样绘制数据点。这是我的代码:
图(1)
k = 1:5000
%plotX是一个1x5000维的向量,元素为1,2,3,…,N
%hmid2和hamid2是1x5000维向量
hplot =情节(plotX (k), hmid2 (k),“。b”plotX (k), hamid2 (k),“- r”);
持有
xlim ([0 N_iter * Lx]);
drawnow
k
结束
我希望得到一个像这样的图表,但在动画中:
相反,我从动画中得到的是:
连接它们的线消失了,第二个图,用hamid2表示,在动画图中没有出现。
我是新手,所以我想知道我是否遗漏了什么或弄错了什么?
干杯
3评论
默比乌斯
默比乌斯 2020年3月28日
谢谢你,汤米。你的建议正是我一直在寻找的缺失的部分。
但是情节线并不清晰,而且plot(x1,y1,x2,y2)的语法不允许我包含“LineWidth”等线属性,所以我这样做:
图(1)
k = 1: N_iter * Lx
hplot1 =情节(plotX (1: k), hmid2 (1: k),“b”“线宽”2);
持有
hplot2 =情节(plotX (1: k), hamid2 (1: k),“- r”“线宽”, 1.2);
xlim ([0 N_iter * Lx]);
drawnow
k
结束
结果正是我想要的。
我也尝试了animatedline()。这是我的代码:
图(1)
先画第一个点
hplot1 = animatedline (plotX (1) hmid2 (1),“颜色”“b”“线型”“:”“线宽”2);
持有
hplot2 = animatedline (plotX (1) hamid2 (1),“颜色”“r”“线型”“- - -”“线宽”, 1.2);
xlim ([0 N_iter * Lx]);ylim ([depth-2 *深度+ 2 *));
k = 2: N_iter * Lx%plot从第二点开始
addpoints (hplot1 plotX (k), hmid2 (k));
addpoints (hplot2 plotX (k), hamid2 (k));
drawnow
k
结束
这个animateline()的结果与前一个完全相似,但要快得多。谢谢你沃尔特!
干杯

登录评论。

答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!