matlab 绘制成带有图例的电影
matlab plots as movie with legend
我有一个关于电影传奇的问题。
这是我的代码:
fig = figure();
for i = 1: 70000
plot(signal1)
hold on;
plot([i,i],[-5,5])
plot(signal2,'r')
hold off;
title('\fontsize{14} my data');
legend('signal1','signal2');
axis tight;
f(i) = getframe(fig);
end
图例显示了我绘制的前两个事物的相同颜色。如果我绘制更多它适用于其他地块。有没有我不知道的技巧?
legend
命令中定义的字符串按生成图的顺序分配。这意味着您的第一个字符串 'signal1'
分配给了 signal1
的图,第二个字符串 'signal2'
分配给了垂直线。
您有两种可能来解决这个问题。
- 对两个信号绘图后的垂直线执行
plot
。
- 使用图的句柄直接分配图例。
这里是改变顺序的例子:
plot(signal1)
hold on;
plot(signal2,'r')
plot([i,i],[-5,5],'k')
hold off;
legend('signal1','signal2');
这里是一个例子,使用句柄(sp1
和sp2
):
sp1 = plot(signal1)
hold on;
plot([i,i],[-5,5],'k')
sp2 = plot(signal2,'r')
hold off;
title('\fontsize{14} my data');
legend([sp1,sp2],'signal1','signal2');
我有一个关于电影传奇的问题。 这是我的代码:
fig = figure();
for i = 1: 70000
plot(signal1)
hold on;
plot([i,i],[-5,5])
plot(signal2,'r')
hold off;
title('\fontsize{14} my data');
legend('signal1','signal2');
axis tight;
f(i) = getframe(fig);
end
图例显示了我绘制的前两个事物的相同颜色。如果我绘制更多它适用于其他地块。有没有我不知道的技巧?
legend
命令中定义的字符串按生成图的顺序分配。这意味着您的第一个字符串 'signal1'
分配给了 signal1
的图,第二个字符串 'signal2'
分配给了垂直线。
您有两种可能来解决这个问题。
- 对两个信号绘图后的垂直线执行
plot
。 - 使用图的句柄直接分配图例。
这里是改变顺序的例子:
plot(signal1)
hold on;
plot(signal2,'r')
plot([i,i],[-5,5],'k')
hold off;
legend('signal1','signal2');
这里是一个例子,使用句柄(sp1
和sp2
):
sp1 = plot(signal1)
hold on;
plot([i,i],[-5,5],'k')
sp2 = plot(signal2,'r')
hold off;
title('\fontsize{14} my data');
legend([sp1,sp2],'signal1','signal2');