matlab图例拆分成两个多个分别显示

来源

作图标注图例时,图例过大,和图形成重合,但是又不能把图片变大,想把图例整体旋转90度竖着放,但是没有实现,不得已把图例拆分成两个,分别放在图形不同区域。

方法

代码核心思想时在原来图片位置重新创建一个一模一样的坐标系,然后在新坐标轴上绘制第二个图例,并且把第二个坐标系不显示,从而实现看起来两个图例一样。

代码:

close all
clear
clc

figure
hold on
line1 = plot(rand(1,10));
line2 = plot(rand(1,10));
line3 = plot(rand(1,10));
line4 = plot(rand(1,10));

% 绘制第一个图例
lgd = legend([line1, line2],{'SMA Y Experiment', 'SMA Y Theory'},...
     'FontSize',9,  'FontName','Arial',  'Location', 'northwest');
 % 创建新坐标系,用get获取原来坐标系的位置并赋值给新坐标系,保证两系重合,设置第二个坐标系不显示
axesNew = axes('position',get(gca,'position'),'visible','off');
% 绘制第二个图例时指定在新建的坐标系中
legend(axesNew,[line3, line4],{'SMA Y Experiment', 'SMA Y Theory'},...
     'FontSize',9,  'FontName','Arial',  'Location', 'southwest');

效果
在这里插入图片描述

其他

另外尝试过直接把坐标系旋转90度,这样第二个图例就直接实现旋转了90度,同样没有实现。只有把Y轴正方向重下往上变成重上往下的转变,代码如下

axis xy
axis ij
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值