在使用matlab绘制时,有时会遇到一张figure中有多条曲线的情况,这些曲线中有些可能是曲线方程已知的情况,也有可能是曲线方程未知的情况。
下面是几条曲线的代码,我要给y1和y2两条曲线,以及i=9时的曲线加上图例。
x=0:10;
y1=sin(x); %加图例
y2=cos(x); %加图例
y3=x;
y4=0.5*x;
y5=0.1*x.^2;
y6=log(x);
figure(1)
hold on
A=plot(x,y1);
B=plot(x,y2);
plot(x,y3,x,y4,x,y5,x,y6)
for i=1:10
hold on
plot([0 10],[i i]) %给i=9的线加图例
end
legend
当我们直接加上图例时,系统会将所有曲线的图例同时加上。
图 1
这时,对于已知的曲线,我们可以给这条曲线命名,如:
A=plot(x,y1);
B=plot(x,y2);
当给曲线命名之后,再进行图例的标注。
legend([A B],'y=x','y=0.5x')
则得到的figure如图所示。
图 2
对于曲线方程未知的曲线(例如在循环结构中绘制的曲线),你可以绘制单独的曲线给你想的曲线加上图例,例如
hold on
C=plot([0 10],[-3 -3]);
legend([A B C],'y=x','y=0.5x','i=9')
图 3
使用工具栏中的编辑绘图指令将新绘制的曲线与要添加图例的曲线编辑成一样的线条,再对坐标轴范围进行设置,将额外绘制的曲线隐藏。
图 4
还可以双击图例,点击更多属性,将图例自动更新取消勾选,则删掉额外曲线后,图例仍然存在。