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 (' .\下一级路径的 ...
随机推荐
- springMvc4+hibernate4+activiti5.15(Maven)
首先创建activiti表 方式1.用代码创建 package createtable; import org.activiti.engine.ProcessEngineConfiguration; ...
- The 2017 ACM-ICPC Asia East Continent League Final记录
首先感谢tyz学弟的麻麻-给我们弄到了名额- 然后就开始了ACM ECLFinal的玩耍,A*仙人掌可是立了flag要好好打的- 试机赛好像就全是GCJ kickstart的原题,然后AK了但是由于一 ...
- 01-导航实例-QQ空间Demo示例程序源代码
01-导航实例-QQ空间.zip62.4 KB // MJLoginViewController.h Map // // MJLoginViewController.h // 01-导航实例-QQ ...
- bzoj 3208 暴力
对于每个操作,直接暴力做就行了,询问的话搜一遍,然后 就这么水过去了. /************************************************************** ...
- python面向对象——类和对象
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程(流水线式) 优点:极大的降低了程序的复杂度 缺点:应用场景固定住了,可扩展性差 2.函数式编程 特点: a ...
- python基础===两个list合并成一个dict的方法
def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...
- IC卡文件系统的逻辑结构【转】
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172028.HTM 文件系统是COS的重要模块之一,它负责组织.管理.维护IC卡内存储的所有数据.文件系统的设计和实现 ...
- (12)Linux shell之read 用法
Linux shell之read 用法 #!/bin/bash#read 用来读取屏幕输入或是读取文件内容.read -p "please input you name: " ...
- Map、Set、List初始化大小的影响
import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Lis ...
- [ Python - 10 ] 练习:批量管理主机工具
需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ## 需求: 主机分组 登录后显示主机分组,选择分组后查 ...