你可以通过h = plot(___)的方法获得关于所画曲线的一个标志,然后在进行相关外理。
这个命令matlab中的解释是:h = plot(___) returns a column vector of chart line objects. Use h to modify a specific chart lines after it is created.
下面给你一个具体的例子吧:
x = 0:0.01:2*pi;
figure(1)
clf;
hold on;
h1 = plot(x,cos(x),'b-');
plot(x,x*0.1,'black-');
h2 = plot(x,sin(x),'g-');
legend([h1,h2],'cos(x)','sin(x)');
这个例子先后画了三条线,cos(x), 0.25*x,sin(x),但是由于使用了我上述的方法,所以可以只标注我画的第一、三条线,而忽略掉第二条线。
下面这张图就是最后的结果:
满意请采纳,谢谢。
答完了才发现问题已经被采纳了,感觉上面的有点局限,我这个也可以参考一下。
思路:修改图形对应函数的顺序,来改legend顺序。
以y1=cos(t),y2=sin(t)为例,进行说明如下:
t=linspace(1,20,1000);
y1=cos(t);
y2=sin(t);
plot(t,y1,t,y2,'r');
legend('cos(t)','sin(t)');
结果
修改后,
t=linspace(1,20,1000);
y1=cos(t);
y2=sin(t);
plot(t,y2,t,y1,'r');
legend('sin(t)','cos(t)');
希望对你有帮助,欢迎交流!
思路:修改图形对应函数的顺序,来改legend顺序。
以y1=cos(t),y2=sin(t)为例,进行说明如下:
t=linspace(1,20,1000);
y1=cos(t);
y2=sin(t);
plot(t,y1,t,y2,'r');
legend('cos(t)','sin(t)');
结果
修改后,
t=linspace(1,20,1000);
y1=cos(t);
y2=sin(t);
plot(t,y2,t,y1,'r');
legend('sin(t)','cos(t)');
根据想要的legend顺序调整画图顺序, legend 上refresh就自动更新了