作业帮 > 综合 > 作业

matlab 图形legend标注问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 17:52:48
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')
你运行试一下.