我想在matlab的单个图中绘制四条曲线,所以我使用的是hold on
。此外,我想为每条曲线创建一个图例,所以我编写了代码:
clear all
x=linspace(0,10,100);
x2=linspace(-5,15,100);
x3=linspace(-10,20,100);
x4=linspace(35,40,100);
figure(1)
plot(x,x2)
legend('x2')
hold on
plot(x,x3)
legend('x3')
hold on
plot(x,x4)
legend('x4')
hold on
plot(x,x)
legend('x')
hold off
但结果是我的所有曲线都是相同的颜色,只是最后一个传奇“x
”出现在图中(见下文)。
如何为每条曲线设置一个图例?所有曲线必须具有不同的颜色。
答案 0 :(得分:1)
这取决于你的matlab版本。在旧版本(和八度音阶)中,通过使用hold on
添加的绘图获得相同的颜色。在R2015b中(我不知道何时引入),各个图形会有不同的颜色,但仍然只显示一个图例。
要获得多种颜色和多个图例条目,您可以指定要在一次调用中绘制的所有数据,对于图例也是如此:
plot(x, x, x, x2, x, x3, x, x4);
或
plot(x, [x', x2', x3', x4']);
对于传说,采用相同的方法:
legend('x', 'x2', 'x3', 'x4');
答案 1 :(得分:0)
如果你想在不知道参赛作品数量的情况下建立一个传奇,你会想要搜索"动态传奇"。例如,请参见此处: http://undocumentedmatlab.com/blog/legend-semi-documented-feature