matlab 图形legend标注问题

我用MATLAB绘图,前面绘制曲线没问题,可是最后标注的时候用
Y=polyconf(p,x1,y1);
plot(x1,y1,'r+',x1,y1,'r');
hold on;
Y=polyconf(p,x2,y2);
plot(x2,y2,'b*',x2,y2,'b');
hold on;
Y=polyconf(p,x3,y3);
plot(x3,y3,'ko',x3,y3,'k')
xlabel('v')
ylabel('p')
legend('f=2.85GHz','f=2.80GHz','f=2.75GHz')
title('2号检波器')
最后标注出现问题,标注不能正确反映出曲线,2.75Ghz表示的用蓝色星星,可是应该是黑色的圈圈表示啊,还有2.80GHZ是用一红线表示的,我就郁闷啦,请大虾指点
呵呵,谢谢回答,其实你说的画了两条曲线,一个是曲线,一个是数据点。按照你说的修改最后是六个标注,分别是对三个曲线 和三个数据点进行标注。问题我已经解决啦,只要把plot(x1,y1,'-r+');在前面加个-号就可以同时绘制曲线和数据点。以前我做过的,看过后才想起。不过还是谢谢你的答复,呵呵,给你分啦

哥哥,你的标注有问题,legend()按画图的顺序标注,所以你标注的三个字符串分别标注了你画的前三个曲线,注意,你的每一个plot命令都画了两条曲线,legend()的标注字符串是按线标注的,而不是按plot命令标注的。
如果你把legend()命令中添加三个字符串就可以正常标注所有的曲线了。
比如改成:
legend('f=2.85GHz','f=2.85GHz','f=2.80GHz','f=2.80GHz','f=2.75GHz','f=2.75GHz')
你运行试一下。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答