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