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 の最初の 2 つの引数を変更するか、z 座標をテキストに追加します。

于 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 に答える