4

のセットがありsubplotsます。これらのサブプロットのグラフに接続された一連のテストを作成します。これらの文字列を表す別のサブプロットが必要です。グラフに注釈を付けたり、テキストを印刷するグラフを作成したりしたくありません。サブプロットに約 5 行のテキストを印刷したいと考えています。figureMATLAB

文字列を座標に手動で配置しようとしましたが、面倒になりました。簡単なアプローチはありますか?

4

1 に答える 1

8

'Parent' プロパティをサブプロットのハンドルに設定して、text() 関数を使用します。

figure;
h1 = subplot(2, 1, 1);
% Do some plotting on h1

h2 = subplot(2, 1, 2);
text(0, 0, sprintf('%s\n%s\n%s ... etc', line1Str, line2Str, line3Str), 'Parent', h2);

ここでは、文字列に改行文字を含めるために sprintf からの戻り値を渡していることに注意してください (テキストは改行を受け入れ、問題なく表示します)。

テキストを軸の中央に配置することもできます。その場合、最初の 2 つの引数を xPos、yPos に置き換えます。これらは次のとおりです。

xl = xlim(h2); 
xPos = xl(1) + diff(xl) / 2; 
yl = ylim(h2); 
yPos = yl(1) + diff(yl) / 2; 
t = text(xPos, yPos, sprintf('%s\n%s\n%s ... etc', line1Str, line2Str, line3Str), 'Parent', h2);
set(t, 'HorizontalAlignment', 'center');

最後の行も配置を中央に設定します。

于 2013-03-21T11:45:54.230 に答える