子图组的标题

Title over group of subplots

有很多次要情节,每个次要情节都有自己的标题。如何为所有这些子图组添加标题? 我希望这个标题显示在顶部中心。

x = linspace(-5,5);

y1 = sin(x);
subplot(2,5,[1:2])
plot(x,y1)
title('y=sin(x)')

y2 = cos(x);
subplot(2,5,[3:4])
plot(x,y2)
title('y=cos(x)')

y3 = tan(x);
subplot(2,5,[5,10])
plot(x,y3)
title('y=tan(x)')

y4 = sin(2*x);
subplot(2,5,[6:7])
plot(x,y1)
title('y=sin(2x)')

y5 = cos(2*x);
subplot(2,5,[8:9])
plot(x,y2)
title('y=acos(2x)')
x = linspace(-5,5);

y1 = sin(x);
subplot(2,5,[1:2])
plot(x,y1)
title('y=sin(x)')

y2 = cos(x);
subplot(2,5,[3:4])
plot(x,y2)
title('y=cos(x)')

y3 = tan(x);
subplot(2,5,[5,10])
plot(x,y3)
title('y=tan(x)')

y4 = sin(2*x);
subplot(2,5,[6:7])
plot(x,y1)
title('y=sin(2x)')

y5 = cos(2*x);
subplot(2,5,[8:9])
plot(x,y2)
title('y=acos(2x)')

suptitle('my title');

我为没有生物信息学工具箱的人找到的最简单的方法是:

a = axes;
t = title('My title');
a.Visible = 'off';
t.Visible = 'on';

您正在做的是创建一组新的轴,默认情况下,它覆盖整个图形,并在这些轴上创建标题。然后将轴设为不可见,并覆盖再次可见的标题。

如果生成的标题与事物发生碰撞,fiddle 与 a.Position 移动坐标轴。

是的,这不是基本功能的一部分,这很荒谬,但是工具箱中隐藏着很多一个或 two-line 功能,人们可能会这么说 ;-)(看着你, range.)

从Matlab 2018b开始,新函数sgtitle为子图组添加标题,只需添加sgtitle('Subplot Title');。它不需要工具箱。

例如:

subplot(1,2,1)
plot(cos(0:40));
title('cos');

subplot(1,2,2)
plot(sin(0:40))
title('sin');

sgtitle('Trigo');