Matlab提供的legend函数,给出的legend经常覆盖了某些曲线(尤其是用IEEE模板的时候,一般图片宽度不超过315px).
复制代码
如下图所示:
这显然不是你想要的,你的reviewers也会肯定让你修改的!
原因是Matlab的Legend函数,只能水平或者竖直排版!
解决方法:把legend分成几个,相对独立,这样可以使用鼠标随意移动,确保不遮挡曲线。
结果如下图所示:
程序演示:
- a=linspace(0,2*pi,100);
- y1=100*sin(a);
- y2=50*cos(a);
- y3=tan(a);
- y4=log(a);
- y=[y1;y2;y3;y4];
- figure
- p=plot(a,y)
- legend('sin','cos','tan','log')

这显然不是你想要的,你的reviewers也会肯定让你修改的!
原因是Matlab的Legend函数,只能水平或者竖直排版!
解决方法:把legend分成几个,相对独立,这样可以使用鼠标随意移动,确保不遮挡曲线。
结果如下图所示:

程序演示:
- a=linspace(0,2*pi,100);
- y1=100*sin(a);
- y2=50*cos(a);
- y3=tan(a);
- y4=log(a);
- y=[y1;y2;y3;y4];
- figure
- p=plot(a,y)
- legend(p(1:2),'sin','cos');
- ah=axes('position',get(gca,'position'),...
- 'visible','off');
- legend(ah,p(3:4),'tan','log','location','west');
复制代码