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,不同排版

   这显然不是你想要的,你的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');
时间: 2024-09-29 23:53:30

Matlab设置Legend横排、分块的相关文章

Matlab设置字体大小

1.  设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]); 2.  设置图片大小:set(gcf,'Position',[x1,y1,dx,dy]);      x1和y1是图的左下角坐标,      dx和dy是图沿着x和y方向的大小,      比如:set(gcf,'Position',[347,162,380,300]); 3.  图例的相关设置:      图例中字体及大小:legend('FontName','Times New Roman','FontSiz

Matlab设置网格线密度(坐标精度)

1.不精确 set(gca,'XMinorTick','on') 这样的话知识x轴显示了细的密度,网格线并没有变. 2.精确 set(gca,'xtick',-1:0.1:1); set(gca,'ytick',-1:0.1:1);

Matlab设置形状大小

x=0:10; y=2*x; plot(x,y,'-*','linewidth',0.5,'markersize',6)%%默认线宽为0.5,点大小为6 说明:调整线宽也可改变点的形状,这实际上是通过改变线的宽度来实现的,不是很好,要改变点的大小,最好用'markersize'来改变,当然也可以同时调整这两者达到你的效果. 主要是多个算法的迭代图.比如超过3个,如果精度相差不大的话,在迭代的最后几次看不出来区别,想着可以更改形状的大小,点大小改成5看着就很明显.

Echarts字体和线条颜色设置操作笔记

        这篇文章主要讲述Echarts设置字体和线条的颜色相关操作笔记,希望文章对你有所帮助,主要是自己的在线笔记吧.我在前面先放各种修改前后图片颜色的对照,后面再详细介绍代码.这样更方便阅读及读者知道,是否对自己有所帮助,其重点是如何在模板动态网页或JSP网站中插入Echarts图片.         1.修改标题及背景颜色            2.设置柱形图颜色         3.修改坐标轴字体颜色        4.设置Legend颜色         5.修改折线颜色   

[python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决

这篇文章主要讲述Python如何安装Numpy.Scipy.Matlotlib.Scikit-learn等库的过程及遇到的问题解决方法.最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所帮助吧!你可能遇到的问题包括:         ImportError: No module named sklearn 未安装sklearn包         ImportError: DLL load failed: 找不到指定的模块         ImportError: DLL load

JS开发字典探测用户名或密码工具

js 用javascript开发字典探测用户名或密码工具 文章作者:翟振凯 (小琦)作者网站:http://www.xiaoqi.net 作者论坛:http://www.tdqy.comQQ:     22336848 53353866 实例演示打包下载 授人予鱼,不如授人予渔.本文注重讲述作者的开发思路与程序的实现方法,目地是让大家了解一个程序的开发过程和这个程序功能的实现原理,而不仅仅是给大家提供一个这样的工具.希望看过本文后的朋友会有所收获,能和我共同分享用javascript编写程序的乐

企业站首页链接点分配技巧

  网站首页作为整个网站权重的集聚中心导致首页的链接位置就像是当今繁华都市的停车位一样,总是供不应求,每个内页撞得头破血流还是一如既往的渴望能够在首页得到一个停车位,尤其是企业站:网站需要优化的关键词很多,直接加剧这种竞争态势,但是每个内页的命运都操纵到站长的手里,我们需要做的就是按照内页关键词所带来的利益大小把对应锚文本布置到首页合适的位置,为了达到首页链接最有配置,笔者在这里就简单阐述一下企业站首页链接点分配技巧: 分配出一个最优质的链接点 很多站长都以F型作为权重高低程度的象征,当然这是正

JavaScript 判断浏览器是否支持SVG方法

  判断浏览器是否支持SVG的代码(部分截去自Highcharts源码): Js代码: function hasSVG(){ SVG_NS = 'http://www.w3.org/2000/svg', return !!doc.createElementNS && !!doc.createElementNS(SVG_NS, 'svg').createSVGRect; } IE8不支持SVG,所以给Highcharts图表设置legend水平位置时,设置相同的x值,Chrome与IE的显示

PlantUML类图

类之间的关系 PlantUML用下面的符号来表示类之间的关系: 泛化,Generalization:<|-- 关联,Association:<-- 组合,Composition:*-- 聚合,Aggregation:o-- 实现,Realization:<|.. 依赖,Dependency:<.. 以上是常见的六种关系,--可以替换成..就可以得到虚线.另外,其中的符号是可以改变方向的,例如:<|--表示右边的类泛化左边的类:--|>表示左边的类泛化右边的类. 例如,下