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