如何为子图提供一个共同的图例?

时间:2017-01-03 23:53:57

标签: matlab matlab-figure legend figure subplot

我正在尝试创建一个子图的图形。我不希望子图有传说,而是想要有一个整体传说。

我读到可以通过仅向最后一个子图添加图例并通过legend的{​​{1}}特征或通过使用一个子图图形位置调整其在图中的位置(例如{ {1}}仅用于显示图例)。我更喜欢第二种选择,虽然直到现在我还没有成功。有帮助吗?

这是我的代码:

subplot(2,3,5.5)

1 个答案:

答案 0 :(得分:24)

<强>代码:

% Plotting some random data and storing their handles
subplot(3,2,1);       h1 = plot(randperm(10),randperm(10),'ko-');
subplot(3,2,2);       h2 = plot(randperm(10),randperm(10),'g+-');
subplot(3,2,3);       h3 = plot(randperm(10),randperm(10),'md-');
subplot(3,2,4);       h4 = plot(randperm(10),randperm(10),'rv-.');

hL = subplot(3,2,5.5);
poshL = get(hL,'position');     % Getting its position

lgd = legend(hL,[h1;h2;h3;h4],'RandomPlot1','RandomPlot2','RandomPlot3','RandomPlot4');
set(lgd,'position',poshL);      % Adjusting legend's position
axis(hL,'off');                 % Turning its axis off

<强>输出:

enter image description here