Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

チャートへのテキストの追加

この例では、チャートにテキストを追加し、テキストの位置とサイズを制御し、複数行のテキストを作成する方法を示します。

テキスト位置

関数 text を使用して、特定のデータ点の横にテキストを追加します。ここでは、点 (π,sin(π)) にテキストを追加します。関数 text の最初の 2 つの入力引数は、位置を指定します。3 番目の引数は、テキストを指定します。

テキストは、既定で TeX マークアップのサブセットをサポートしています。ギリシャ文字 π には TeX マークアップ \pi を使用します。TeX マークアップ \leftarrow を含めることで、左向き矢印を表示します。マークアップの完全なリストについては、チャートのテキスト内のギリシャ文字と特殊文字を参照してください。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

テキスト配置

既定では、指定したデータ点はテキストの左側に配置されます。データ点をテキストの右側に合わせるには、HorizontalAlignment プロパティを 'right' として指定します。左ではなく右向き矢印を使用します。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = 'sin(\pi) = 0 \rightarrow';
text(pi,sin(pi),txt,'HorizontalAlignment','right')

Figure contains an axes object. The axes object contains 2 objects of type line, text.

フォント サイズ

テキストのフォント サイズを指定するには、FontSize プロパティを関数 text の名前と値のペアの引数として設定します。関数 titlexlabelylabel、または、legend を使用している場合には、同様の方法を使用してフォント サイズを変更できます。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt,'FontSize',14)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

あるいは、R2022a 以降、関数fontsizeを使用して、座標軸テキストのフォント サイズを変更できます。

text プロパティの設定

関数 text は、Text オブジェクトを作成します。Text オブジェクトには、HorizontalAlignmentFontSize など、テキストの外観をカスタマイズするために使用できるプロパティがあります。

次の 2 つの方法でプロパティを設定できます。

  • text コマンドで、'FontSize',14 のように名前と値のペアを使用。

  • Text オブジェクトを使用。Text オブジェクトを、関数 text の出力引数として返し、変数 (たとえば、t) に代入できます。次に、t.FontSize = 14 のように、ドット表記を使用してプロパティを設定します。

この例では、名前と値のペアではなく、ドット表記を使用してフォント サイズを変更します。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
t = text(pi,sin(pi),txt)
t = 
  Text (\leftarrow sin(\pi) = 0) with properties:

                 String: '\leftarrow sin(\pi) = 0'
               FontSize: 10
             FontWeight: 'normal'
               FontName: 'Helvetica'
                  Color: [0 0 0]
    HorizontalAlignment: 'left'
               Position: [3.1416 1.2246e-16 0]
                  Units: 'data'

  Use GET to show all properties

t.FontSize = 14;

Figure contains an axes object. The axes object contains 2 objects of type line, text.

複数行のテキスト

複数行にわたってテキストを表示するには、文字ベクトルの cell 配列を使用します。cell 配列の各要素は、1 行のテキストです。この例では、2 行のタイトルを表示します。同様の方法を使用して、関数 titlexlabelylabel、または legend で複数行のテキストを表示できます。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = {'Plotted Data:','y = sin(x)'};
text(4,0.5,txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

変数値をもつテキスト

変数値をテキストに含めるには、関数 num2str を使用して数値をテキストに変換します。この例では、平均の y 値を計算し、タイトルに値を含めます。同様の方法を使用して、関数 titlexlabelylabel、または legend に変数値を含めることができます。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

avg = mean(y);
txt = ['Average height: ' num2str(avg) ' units'];
text(4,0.5,txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

座標軸外のテキスト

関数 text の代わりに関数 annotation を使用して、Figure 内の任意の場所にテキストを追加します。最初の入力引数は、注釈のタイプを指定します。2 番目の入力引数は、Figure に対して正規化された単位で注釈の位置を指定します。テキスト ボックスの境界線を削除するには、EdgeColor プロパティを 'none' に設定します。テキスト ボックスの注釈の詳細については、関数annotationを参照してください。

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

annotation('textbox',[.9 .5 .1 .2], ...
    'String','Text outside the axes','EdgeColor','none')

Figure contains an axes object. The axes object contains an object of type line.

参考

| | | | |

関連するトピック