MATLAB在子图的一列上创建标题

时间:2013-03-29 19:05:05

标签: matlab graph matlab-figure

所以我有一个3x3的子图阵列。我知道如何在每一个上获得一个标题,我知道如何使用suptitle函数获得一个“超级标题”,但我无法弄清楚如何让标题只显示在每个标题上柱。我也想对行做类似的事情。想想臀部,膝盖,脚踝的顶部,然后是左侧的角速度,扭矩和力量。想法?

2 个答案:

答案 0 :(得分:5)

您可以使用text标记列和行。

subplot(2,2,1)
title('a')
h1 = text(-0.25, 0.5,'row 1');
set(h1, 'rotation', 90)
text(0.35,1.2,'column 1');

subplot(2,2,2)
title('b')
text(0.35,1.2,'column 2');
subplot(2,2,3)

title('c')
h = text(-0.25, 0.5, 'row 2');
set(h, 'rotation', 90)
subplot(2,2,4)
title('d')

必须根据图表的x和y范围调整文本的位置。

答案 1 :(得分:0)

如对其他答案的评论中所述,您可以使用各个子图中的标题和y标签来执行此操作。

在图表的第一行使用title生成列标签。 对于行标签,利用允许您拥有多行标签的(可能未记录的?)功能,因此:

ylabel({'Row label' 'Actual y-label'});

这是一个讨厌的kludge,如果您的子图是在一个循环内生成的,它就是PITA,但是除非Mathworks给我们一个合适的方法来做到这一点,这是我所知道的最好的。