首页 > 编程知识 正文

matlab怎么分开例,matlab 怎么加两个例

时间:2023-05-03 08:11:17 阅读:276594 作者:4563

来源

作图标注图例时,图例过大,和图形成重合,但是又不能把图片变大,想把图例整体旋转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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。