matlab已经把两个M文件的图用hold on 放一起了,但是图例legend只能显示一个,如何让两个图例都显示呢? 5

 我来答
sky_tiger0
2016-06-17 · TA获得超过217个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:75.8万
展开全部
没找着太合适的方法,我是通过获取legend的字符串,添加新字符串后在set回去解决的。

对于每一个想画图的.m文件,都写成下面的格式,要标记的字符串根据文件而定

figure(1); %统一句柄id
hold on
hl = legend; %获取当前的legend属性
if isempty(hl) %如果是空,说明现在还没有legend属性
lstr = {'x'}; %设定当前想要标记的string
else
lstr = [hl.String{:}, {'x'}]; %如果已经有legend属性,在原有string上继续添加新的string
end
plot(......); %继续画图(前面有hold on)
hl = legend; %获取画图后新的legend属性
hl.set('String', lstr); %将新字符串设置进去

hold off
百度网友b135e29
2014-12-24 · TA获得超过252个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:90万
展开全部
legend用两个参数不可以吗?

例如:legend('y','y1');
追问
可以,但是前面的图例样式是一样的,都是蓝色的六角形或者红色的星
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式