MATLABで「凡例を表示したい…」ときは>>legendを使っていますが、指定できるLocationもたくさんあるので、嬉しいですね
Locationの名前と表示位置の対応図を作ってみました。
対応関係を作図したコードはブログ末に掲載しています。

対応関係を作図するときに使用したコードです。
ごり押しで作成しているため、あくまでご参考の一つとしていただければと存じます。
clear;
close all;
clc;
% 時間軸データを作成
t = 0:0.01:2*pi;
% サイン波を作成
y = sin(t);
% 凡例の表示位置一覧
legendLocations = [ ...
"north" ... % 座標軸内の上
"south" ... % 座標軸内の下
"east" ... % 座標軸内の右
"west" ... % 座標軸内の左
"northeast" ... % 座標軸内の右上(2次元座標軸の既定値)
"northwest" ... % 座標軸内の左上
"southeast" ... % 座標軸内の右下
"southwest" ... % 座標軸内の左下
"northoutside" ... % 座標軸外の上
"southoutside" ... % 座標軸外の下
"eastoutside" ... % 座標軸外の右
"westoutside" ... % 座標軸外の左
"northeastoutside" ... % 座標軸外の右上隅(3次元座標軸の既定値)
"northwestoutside" ... % 座標軸外の左上隅
"southeastoutside" ... % 座標軸外の右下隅
"southwestoutside" ... % 座標軸外の左下隅
];
% 図を作成
figure;
% 基準となる座標軸を作成してグラフを描画
axArray(1) = axes;
plot(t, y);
% 凡例位置ごとに重ね合わせ用の座標軸を作成
for i = 1:length(legendLocations)
% 新しい座標軸を作成
axArray(i + 1) = axes;
% 同じグラフを描画
p = plot(t, y);
% 座標軸自体は非表示
axArray(i + 1).Visible = "off";
% 指定位置に凡例を表示
lgd = legend(axArray(i + 1), legendLocations(i), Location = legendLocations(i));
% 凡例アイコンの列幅を調整
lgd.IconColumnWidth = 10;
end
% すべての座標軸の表示範囲を連動
linkaxes(axArray, "xyz");
% すべての座標軸の位置を統一
for j = 1:length(axArray)
axArray(j).Position = [0.25 0.2 0.5 0.6];
end
% x軸・y軸の表示範囲を設定
xlim([0 2*pi]);
ylim([-1.5 1.5]);
% フォントサイズを設定
fontsize(12, "points");MATLAB / LabVIEW関連の投稿をXやYoutubeでしています。
フォローしていただけますと幸いです。
X: https://x.com/SCISEL1990
YouTube:https://www.youtube.com/@scisel
