matlab已经把两个M文件的图用hold on 放一起了,但是图例legend只能显示一个,如何让两个图例都显示呢? 5
2个回答
展开全部
没找着太合适的方法,我是通过获取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
对于每一个想画图的.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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询