Matlab设置Legend横排、分块
高级用法1:指定legend显示的位置:
legend({'str1','str2','strn'},'Location','SouthEast');
比较鸡肋,画好图后树手动拖动就好了
高级用法2:指定显示某几条曲线的legend:
例如你有25条曲线,想显示其中1,6,11,16,21的legend
H = plot(data);
legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
高级用法3:legend横排
hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
set(hl,'Orientation','horizon')
高级用法4:不显示方框:
hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
set(hl,'Box','off');
查看这个的初衷是因为四条曲线的对比图,但是有些曲线差别太大,比如A在[1.8,1.82],B在[0.9,1.1],CD曲线在中间这样的话,因为A曲线的存在,中坐标最大值是1.82但是变化很不明显,所以该曲线在图的最上方,而且紧挨着图的上边界,因为图例在右上方,这样肯定会覆盖曲线,所以想着横排。

但是这种方法也不好做好的事拆开。
Matlab提供的legend函数,给出的legend经常覆盖了某些曲线(尤其是用IEEE模板的时候,一般图片宽度不超过315px).
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')
如下图所示:

原因是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');
Matlab设置Legend横排、分块的更多相关文章
- matlab的legend用法
用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况. legend函数的基本用法是: LEGEND(string1,string2,string ...
- matlab设置mex失败
更新 使用matlab2017b时,又报错, >> mex -setup 警告: Xcode is installed, but its license has not been acce ...
- Matlab设置字体大小
1. 设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]); 2. 设置图片大小:set(gcf,'Position',[x1,y1,dx,dy]); x1和y1是图的左下角坐 ...
- DiscuzX 论坛首页 和 分 区设置版块横排
在论坛看到很多新手站长在咨询怎么样才可以设置和Discuz! 官方论坛首页一个分区下面横排3个板块或者更多呢?如下图: 下面我一起来操作下: 论坛 后台 论坛 板块管理 分区 编辑 图一: 图二: 说 ...
- [ZZ] MATLAB中Legend的一些控制方法
http://www.eetop.cn/blog/html/03/6503-23349.html 如果一个图中我们画了n条曲线,但是我们只想加图例说明(legend)的只有m条 (m<n).网上 ...
- matlab 设置横纵坐标刻度的字体!!
set(gca,'FontSize',16) %%设置横纵坐标字体的大小
- MATLAB 设置示波器颜色和行列
设置颜色 设置行列和图例 放大缩小显示
- Matlab设置网格线密度(坐标精度)
1.不精确 set(gca,'XMinorTick','on') 这样的话知识x轴显示了细的密度,网格线并没有变. 2.精确 set(gca,'xtick',-1:0.1:1); set(gca,'y ...
- MATLAB 设置文件的相对路径
加载文件使用命令:load(' 文件名 or 文件路径 ') 1.文件在当前路径下: 直接 load('session.mat') 2.文件在下一级路径下: 使用 load (' .\下一级路径的 ...
随机推荐
- 转:一个Restful Api的访问控制方法(简单版)
最近在做的两个项目,都需要使用Restful Api,接口的安全性和访问控制便成为一个问题,看了一下别家的API访问控制办法. 新浪的API访问控制使用的是AccessToken,有两种方式来使用该A ...
- bzoj 5028: 小Z的加油店——带修改的区间gcd
Description 小Z经营一家加油店.小Z加油的方式非常奇怪.他有一排瓶子,每个瓶子有一个容量vi.每次别人来加油,他会让 别人选连续一段的瓶子.他可以用这些瓶子装汽油,但他只有三种操作: 1. ...
- bugscan泄露代码解密
#{文件名:decode key} dekey_dict= {'expback_64pyc_dis.py': 'ef632082c7620cf54876da74a1660bfb9c06eb94549b ...
- NT式驱动和WDM式驱动
刚开始学习驱动,没什么基础,对于好多名词也不是很理解,感觉每天学的驱动都不一样.......今天看了书之后才知道,原来驱动分为NT式驱动和WDM式驱动两种.大概总结一下它们之间的区别. 对于NT式驱动 ...
- (12)Linux shell之read 用法
Linux shell之read 用法 #!/bin/bash#read 用来读取屏幕输入或是读取文件内容.read -p "please input you name: " ...
- float和double类型的存储方式
Float double 类型在计算机的存储方式 计算机中只认识10的二进制数,那么该如何存储小数呢? 那么我们先看Floa类型: Float在计算机(32位)中是4个字节的,具体地:第一位为符号位0 ...
- 3.shell位置参数变量
当我们执行一个shell脚本时,希望可以获取命令行里的参数信息,就可以使用位置参数变量.比如 sh ./a.sh 100 200,就是一个执行shell的命令行,可以在a.sh脚本中获取到参数信息 语 ...
- discuz自定义生成单页面
在pc端,若要生成一个单页面,有一个比较方便的方法是生成新的专题页,然后diy其中的内容. 不过这种做法有两个缺点 1 url太过冗赘 2 只有一个插入url代码功能,没有文本编辑功能 而且文本框小的 ...
- javascript字符串中包含特殊字符问题
我们都知道,在javascript中,字符串写在单引号或者双引号之中.因为这种要求,我们有些时候一些需要的字符串不能够被javascript解析,如下: "We are "Huma ...
- 搜索引擎--范例:谈谈django--mysql数据库的一些常用命令
现在基本没有什么能离得开数据库了,django我一直用的都是mysql的数据库,这次和大家说说django--mysql数据库的一些常用命令吧 1:命令行登陆mysql C:\Users\Admini ...