matlab legend 多列,科学网—Matlab 利用新建坐标轴绘制多列legend - 肖鑫的博文

如果想要绘制多列横排legend怎么办嘛,最终结果如下图所示,灵感来自于网络

9df3fcd1e148e8f8fe04b71c73e9153d.png

% 第一组数,对应上图左侧

lg_barV = bar(*,*);% *为你要画的变量

lg_linethinV = plot(*,*,'linewidth',.8);% 细线

lg_lineboldV = plot(*,*,'linewidth',2);% 粗线

% 第二组数,对应上图右侧

lg_barT = bar(*,*);% *为你要画的变量

lg_linethinT= plot(*,*,'linewidth',.8);% 细线

lg_lineboldT = plot(*,*,'linewidth',2);% 粗线

lg1 = legend([lg_linethinV,lg_lineboldV,lg_barV],{'' '' ''});% 左侧一列不添加标签只显示图例

set(lg1,'box','off','Fontsi',12,'Fontwei','Bold','position',[0.10 0.85 0.20 0.08])% 左侧图例画布位置,[左 下 宽 高]

ah=axes('position',get(gca,'position'),'visible','off');% 精髓在这,新建不可见坐标轴,position灵活指定就可以

lg2 = legend([lg_linethinT,lg_lineboldT,lg_barT],{' 15-day lowpass' ' 120-day lowpass' ' Semi-annual mean'});

% 把右侧图例画上去,并添加标签

set(lg2,'box','off','Fontsi',12,'Fontwei','Bold','Position',[0.21 0.85 0.20 0.08])% 右侧图例的画布位置,[左 下 宽 高]

% 右侧图例左侧距离0.21比左侧图例0.10,要多一点

其实利用新建坐标轴的功能+画图超出画布功能可以实现很多好看的时间序列画图方法,改天再讨论

转载本文请联系原作者获取授权,同时请注明本文来自肖鑫科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3386114-1208737.html

上一篇:解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变

下一篇:Matlab m_map一张地图上使用用多个colormap以及patch精细岸线数据去除河流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值