3

我在一个图中有 4 个子图,想将它们标记为 a、b、c 和 d。我希望字母自动放置在每个子图的左上角。我知道我可以手动添加文本,但有没有更有效的方法来做到这一点?

4

2 回答 2

5

您可以将这些内容放入脚本中:

subplot(2,2,1)
text(0.02,0.98,'a','Units', 'Normalized', 'VerticalAlignment', 'Top')
subplot(2,2,2)
text(0.02,0.98,'b','Units', 'Normalized', 'VerticalAlignment', 'Top')
subplot(2,2,3)
text(0.02,0.98,'c','Units', 'Normalized', 'VerticalAlignment', 'Top')
subplot(2,2,4)
text(0.02,0.98,'d','Units', 'Normalized', 'VerticalAlignment', 'Top')

请注意,我假设您的子图排列在 2x2 网格中,并且它们都是 2D 图。如果这些假设不成立,请修改 subplot 的前两个参数和/或将 az 坐标添加到文本。

于 2012-04-24T02:04:56.753 回答
2

您还可以在子图中指定所需的行数并使用函数 char 增加字母:

% data:
myTriangle=(triang(100));
amplitudeFactor=[1 0.7 0.6  0.4 0.2];

% Plot, specifying number of lines in subplot:
nLine=2;
nPlot=length(amplitudeFactor);
for ind=1:nPlot
    subplot(nLine, ceil(nPlot/nLine),ind)
    plot(myTriangle*amplitudeFactor(ind))
    set(gca,'YLim',[0 1])
    text(0.02,0.98,char('a' + ind - 1),'Units', 'Normalized', 'VerticalAlignment', 'Top')
end
于 2012-04-24T12:35:17.603 回答