MATLAB Function Reference    
Text Properties

プロパティの変更

ユーザは、つぎの2つの方法を使って、グラフィックオブジェクトのプロパティを設定したり、引用できます。

プロパティのデフォルト値を変更するには、 デフォルトプロパテ ィ値の設定を参照してください。

Text Property 詳細s
この節では、プロパティ名とそれに設定できる値について説明します。中括弧{}は、デフォルト値です。

BusyAction                   cancel | {queue}

コールバックルーチンの割り込みコールバックルーチンの割込みBusyActionプロパティを使って、実行中のコールバックルーチンに割込みを行うイベントの取り扱い方法をコントロールすることができます。実行中のコールバックルーチンがあれば、続いて呼び込まれるコールバックルーチンは、常にそれを中断しようとします。コールバックを実行中のオブジェクトのInterruptibleプロパティがon(デフォルト)に設定されていれば、イベントキューが処理されるつぎの点で割込みが起こります。Interruptibleプロパティがoffならば、(実行中のコールバックをもつオブジェクトの)BusyActionプロパティは、MATLABがイベントを処理する方法を指定します。つぎのような選択があります。

ButtonDownFcn                文字列

ボタンを押したときのコールバックルーチン。ポインタが Text オブジェクト上にあるときに、マウスボタンを押すと実行されるコールバックルーチン。このルーチンは、有効なMATLAB 表現、または、 M-ファイル名を文字列として定義してください。式はMATLAB ワークスペースで実行します。

Children                     行列(参照のみ)

空行列です。Text オブジェクトは、子オブジェクトをもちません。

Clipping                     on | {off}

クリッピングモードClippingonのとき、MATLAB は Axes の外側にあるText を表示しません。

Color                        ColorSpec

テキストカラー。Text のカラーを指定する3 要素の RGB ベクトル、または、MATLAB の既定のカラーの名前。Colorのデフォルトの値は白です。カラーの指定の詳細は、リファレンスページのColorSpec を参照してください。

CreateFcn                    文字列

オブジェクト作成時に実行されるコールバックルーチン。このプロパティは、MATLAB が Text オブジェクトを作成するときに、実行するコールバックルーチンを定義します。このプロパティは、Text に対するデフォルト値として定義しなければなりません。たとえば、ステートメント

は、Text オブジェクト作成時に、FigurePointerプロパティを十文字に設定する ルートレベルのデフォルト値を定義します。MATLABは、Text のすべてのプロパティを設定した後に、このルーチンを実行します。このプロパティを既存のText オブジェクトに対して設定しても、効果はありません。

実行しているオブジェクトのCreateFcnのハンドルは、ユーザがgcboを使って引用することができる ルートのCallbackObject プロパティを通してのみアクセスできます。

DeleteFcn                    文字列

Text を削除するときのコールバックルーチン。Text オブジェクトを削除する(deleteの実行や、AxesやFigure を消去する)とき、実行するコールバックルーチン。MATLABは、オブジェクトのプロパティを壊す前に、このルーチンを実行するので、これらの値はコールバックルーチンに対して利用可能です。

実行しているオブジェクトのDeleteFcnのハンドルは、ユーザがgcboを使って引用することができる ルートのCallbackObjectプロパティを通してのみアクセスできます。

Editing                      on | {off}

編集モードの切り替え。このプロパティをデフォルトのoffに設定すると、対話的にテキスト文字列を編集できません(たとえば、String プロパティをテキストに変更しなければなりません)。このプロパティを onとすると、MATLAB は、テキスト文字列の始めに挿入カーソルを移動して、編集可能にします。新しいテキスト文字列を適用するためには、

そして、MATLAB は、String プロパティを新しいテキストを含むようにアップデートして、Editing プロパティを offにリセットします。再度編集を始めるには、Editingプロパティをonに再度設定してください。

EraseMode                    {normal} | none | xor | background

消去モード。 このプロパティは、Textオブジェクトの描画や消去のために MATLAB が使用する技法を制御します。消去モードは、連続的に動きを表現するアニメーションの作成に有効で、アニメーションの性能を改良したり希望する効果を得るためには、個々のオブジェクトを再描画する方法を制御する必要があります。

非標準の消去モードでの印刷

MATLABは、すべてのオブジェクトのEraseModeが、normalであるかのようにFigureを常にプリントします。これは、EraseModenone, xor, backgroundに設定して、作成したグラフィックスオブジェクトが紙上よりスクリーン上で異なって見えることがあることを意味しています。スクリーン上で、MATLABは、カラーの層をを数学的に組み合わせ、3次元的なソートを行わないことにより、表示するための時間を短縮しています。しかし、この手法は、実際の印刷には、使えません。

非標準のオブジェクトを含んだFigureのイメージを作成するため、MATLAB のcapture コマンド、または、他のスクリーンキャプチャアプリケーションを使うことができます。

Extent                       長方形の位置(参照のみ)

Text の位置とサイズ。Text 文字列のサイズと位置を指定する4 要素の参照のみのベクトル

Units プロパティにdataが設定されたなら(デフォルト)、 leftbottom は、TextのExtentの四角形の左下隅の xy 座標です。

Unitsが他の値であれば、left bottom は、Axesの長方形の左下隅から Text の長方形 Extent の左下隅までの距離です。widthheight は、長方形 Extent の大きさです。すべての測定は、Unitsプロパティで指定した単位で表わされます。

FontAngle                    {normal} | italic | oblique

キャラクタの傾斜。 MATLABは、このプロパティを使ってユーザのシステムで使用可能なフォントの型を選択します。一般的に、このプロパティをitalics oblique に設定すると、傾斜したフォントに設定されます。

FontName                     文字列

フォントファミリ。Text オブジェクトに使うフォント名を指定する文字列。適切に表示したり印刷したりするためには、このプロパティはユーザのシステムがサポートするフォントでなければなりません。デフォルトのフォントは、MSP ゴシックです。

固定幅のフォントの指定

任意の位置に良く見えるように、固定幅のフォントを使いたい場合、FontNameを文字列FixedWidthに設定する必要があります。

このパラメータ値は、固定幅のフォントの名前をハードコードするために必要な処理をエルミネーションします。これは、ASCIIキャラクタコーディング(日本語)を使用しないシステム上で、適切にテキストを表示できません。固定幅のフォントを使用するために記述されたMATLABアプリケーションは、FontNameFixedWidthに設定し、エンドユーザの環境の中に正しく設定されたルートのFixedWidthFontNameプロパティを使います。

エンドユーザは、ルートのFixedWidthFontName プロパティをstartup.mに設定した適切な値に設定することにより、種々の部分や個人の環境に MATLABアプリケーションを採用できます。

ルートFixedWidthFontName プロパティを設定することは、新しいフォントを使用して表示したものをすぐに更新することになります。

FontSize                     FontUnitsで設定した単位でのサイズ

フォントサイズ。Text に対して用いるフォントサイズを指定する整数で、FontUnitsプロパティで指定した単位で表わされます。デフォルトのサイズは、9 ポイントです(1 ポイント = 1/72インチ)。

FontWeight                   light | {normal} | demi | bold

Text キャラクタの重み。MATLABは、このプロパティを使って、ユーザのシステムで使用可能なフォントの型を選択します。一般的に、このプロパティをbold demi に設定すると、MATLAB は太字フォントを使います。

FontUnits                    {points} | normalized | inches |
                              centimeters | pixels

フォントのサイズの単位。MATLABは、このプロパティを使って、FontSizeプロパティで使う単位を決定します。Normalizedは、FontSizeを親オブジェクトの Axes の高さの分数として解釈します。Axesをリサイズするとき、MATLAB は、スクリーンの FontSize を修正します。pixels,inches, centimeters, points は、絶対単位です(1ポイント = 1/72インチ)。

HandleVisibility             {on} | callback | off

コマンドラインユーザとGUIによるオブジェクトのハンドルへのアクセスの制御。このプロパティは、オブジェクトのハンドルが、その子オブジェクトの親のリスト内で視覚可能であるときに指定します。HandleVisibilityプロパティは、(ダイアログボックスのような)ユーザインタフェースデバイスのみを含んでいるFigure内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。

HandleVisibilityonのときは、ハンドルは常に見える状態です。

HandleVisibilitycallbackに設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。

HandleVisibilityoff に設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUIを傷つける可能性(ユーザがタイプした文字列の評価のような)がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。

ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認してハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。

ハンドルの視覚状態が、callbackoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildren プロパティには表れません。 Figureは、ルートのCurrentFigure プロパティに表れず、オブジェクトは、 ルートのCallbackObject プロパティ、または、FigureのCallbackObject プロパティに表れません。そして、Axesは、親オブジェクトのCurrentAxes プロパティに表れません。

ルートのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。

隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分かっていると、そのプロパティを関数setgetで設定し、ハンドルを取り扱う関数に渡すことができます。

HitTest                      {on} | off

マウスクリックによる選択可能HitTest は、Text 上でマウスクリックの結果、Text がカレントのオブジェクト(gcoコマンドとFigureのCurrentObjectプロパティにより出力される)になり得るかどうかを指定します。HiTestoffならば、Text 上をクリックすると、その下のオブジェクト(このオブジェクトを含むAxesかもしれません)を選択します。

たとえば、マウスを使ってクリックした位置にテキストを表示するため、Imageのbutton down 関数(ButtonDownFcnを参照)を定義すると仮定しましょう。

まず、コールバックルーチンを定義します。

つぎに、イメージを表示し、これのButtonDownFcnプロパティにコールバックルーチンを設定します。

Image上をクリックすると、MATLABは、そのクリックした位置にテキスト文字列を表示します。HitTestoffに設定していると、テキスト上で連続的にクリックしても、すでに存在しているテキスト上では、イベントを中断することができません。これにより、Imageの button down 関数を実行することができます。

HorizontalAlignment          {left} | center | right

Text の水平方向の整列。このプロパティは、Text文字列の水平方向の位置を指定します。Position プロパティで指定した点に関して、文字列をどこに配置するかを決定します。 つぎの図は、整列に関するオプションを示すものです。


関係した情報に付いては、Extent プロパティを参考にしてください。

Interpreter                  {tex} | none

Tex のコマンドの解釈。 このプロパティは、MATLABが String プロパティのキャラクタを、LaTexのコマンドとして扱う(デフォルト)か、または、そのままのキャラクタとして表示するかを指定します。サポートしているTex のコマンドは String プロパティを参照してください。

Interruptible                {on} | off

コールバックルーチンの中断モードInterruptibleプロパティは、Text のコールバックルーチンが、続いて呼び込まれるコールバックルーチンによって中断されるかどうかを制御します。Textオブジェクトは、コールバックルーチンを定義する ButtonDownFcn, CreateFcn, DeleteFcnのプロパティをもちます。MATLAB のコールバックルーチンの実行法は、Executionqueue プロパティを参照してください。

Parent                       ハンドル番号

Text オブジェクトの親。 Text オブジェクトの親オブジェクトのハンドル番号。Textオブジェクトの親は、Text が表示される Axes です。このプロパティを新しい親オブジェクトのハンドル番号に設定することで、Textオブジェクトを他の Axes へ移動することができます。

Position                     [x,y,[z]]

Text の位置。2 要素、または、3 要素のベクトル[x y [z]] は、3 次元での Text の位置を指定します。zの値を省略すると、デフォルトで 0 になります。すべての位置は、Unitsプロパティで指定した単位で表されます。初期値は、[0 0 0]です。

Rotation                     スカラ (デフォルト = 0)

Text の方向。このプロパティは、Text 文字列の方向を決定します。回転の角度を指定します(正の角度は反時計回りの方向になります)。

Selected                     on | {off}

選択されたオブジェクト。このプロパティがon のとき、MATLAB は、 SelectionHighlight on ならば、オブジェクトの選択状態を示すハンドルを表示します。たとえば、このプロパティを設定するために、ButtonDownFcnを定義すると、ユーザはマウスでオブジェクトを選択することができます。

SelectionHighlight           {on} | off

選択時のオブジェクトの強調Selectedプロパティが、on のときに、MATLAB は 4 辺と4 隅に選択状態を示すハンドルを描画します。SelectionHighlightが、 off のとき、MATLAB はハンドルを描画しません。

String                       文字列

Text の文字列。 このプロパティは、コーテーション付き文字列、または、文字のセル配列、複数行の文字とした paddeed string として指定します。MATLABは、この文字列を指定した位置に表示します。|キャラクタは、Text文字列では、ラインブレークとは解釈されません。そして、Text文字列の一部として表示されます。より詳しくは、"注意事項:" を参照してください。

TextのInterpreter プロパティが、Tex (デフォルト)のとき、ギリシャ文字や数学的なシンボルのような特殊文字を作成するために。文字列の組み込まれているTeXコマンドの一部を使うことができます。 つぎの表は、これらのキャラクタとそれらを定義するキャラクタシーケンスを説明したものです。

キャラクタ列
シンボル
キャラクタ列
シンボル
キャラクタ列
シンボル
\alpha

\upsilon

\sim
~
\beta

\phi

\leq

\gamma

\chi

\infty

\delta

\psi

\clubsuit

\epsilon

\omega

\diamondsuit

\zeta

\Gamma

\heartsuit

\eta

\Delta

\spadesuit

\theta

\Theta

\leftrightarrow

\vartheta

\Lambda

\leftarrow

\iota

\Xi

\uparrow

\kappa

\Pi

\rightarrow

\lambda

\Sigma

\downarrow

\mu
µ
\Upsilon

\circ
º
\nu

\Phi

\pm
±
\xi

\Psi

\geq

\pi

\Omega

\propto

\rho

\forall

\partial

\sigma

\exists

\bullet

\varsigma

\ni

\div
÷
\tau

\cong

\neq

\equiv

\approx

\aleph

\Im

\Re

\wp

\otimes

\oplus

\oslash

\cap

\cup

\supseteq

\supset

\subseteq

\subset

\int

\in

\o

\rfloor

\lceil

\nabla

\lfloor

\cdot
·
\ldots
...
\perp

\neg
¬
\prime
'
\wedge

\times
x
\0

\rceil

\surd

\mid
|
\vee

\varpi

\copyright
©
\langle

\rangle



使用するフォントを制御するフォント修飾子を指定することもできます。最初の4 個の修飾子は、相互に排他的です。しかし、\fontnameは、他の修飾子と組合わせて使うことができます。

フォント修飾子は、文字列の最後まで、または、{ } で定義した内容の中でのみ有効です。

サブスクリプトとサブスクリプトの指定

サブスクリプトキャラクタ "_" とスーパスクリプトキャラクタ "^" は、つぎのように中括弧の中で定義されるキャラクタ、または、サブストリングスを変更します。

Tex文字列の定義に使用した特殊キャラクタを印刷するには、\\, \{, \}\_, \^. 、のようにバックスラッシュ "\" を前に付けます。詳細は "例題" を参照してください。

詳細な情報については、"例題"を参照してください。

Interpreternoneとすると、String の中のキャラクタは解釈されず、テキストが描かれたときにすべてが表示されます。

Tag                          文字列

ユーザ指定のオブジェクトのラベル。Tag プロパティはユーザ指定のラベルでグラフィックスオブジェクトを識別する方法を提供します。これはオブジェクトのハンドル番号をグローバル変数として定義したり、コールバックルーチン間で引数として渡すことを必要とする、対話的なグラフィックスプログラムを構築するときに、特に有効です。任意の文字列でTag を指定することができます。

Type                         文字列(参照のみ)

グラフィックスオブジェクトのクラス。Text オブジェクトに対して、Type は常に文字列 'text'です。

Units                        pixels | normalized | inches |
                             centimeters | points | {data}

測定の単位。このプロパティは、MATLABが、Extent Position プロパティを解釈する単位を指定します。すべての単位は、Axes のプロットボックスの左下隅から測定されます。Normalizedは、Axes で定義した長方形の左下隅を (0,0) に写像し、右上隅を(1.0,1.0) に写像します。pixels, inches,centimeters, points は、絶対単位です(1ポイント = 1/72インチ)。data は親の Axes のデータ単位を参照します。

Unitsの値を変更した場合、Units をデフォルト値とする他の関数に影響を与えないように、計算が終了した後でデフォルト値に戻すようにしてください。

Unitsの値を変更すると、必ず、計算の後に、もとのデフォルト値に戻すことをお勧めします。これは、他の関数では、Unitsの設定値がデフォルト値を使っていることを仮定しているからです。

UserData                     行列

ユーザ指定のデータ。Text オブジェクトと関連付けたいデータです。MATLABは、このデータを使いませんが、set get を使って、アクセスすることができます。

UIContextMenu                uicontextmenuオブッジェクトのハンドル

Textに関連したコンテキストメニュー。Textと同じFigure内に作成するUicontextmenuオブジェクトのハンドルにプロパティをアサインします。コンテキストメニューを作成するには、uicontextmenu関数を使います。Text上を右クリックすると、コンテキストメニューを表示します。

VerticalAlignment            top | cap | {middle} | baseline |
                             bottom

Text の垂直方向の整列。このプロパティは、Text文字列の垂直方向の位置を指定します。Position プロパティの値に関して、文字列をどこに配置するかを決定します。値は、つぎの通りです。

つぎの図は、整列のオプションを示したものです。


Visible                      {on} | off

Text の可視性。デフォルトでは、すべてのText は視覚可能です。このプロパティを off に設定したとき、Textは見えなくなりますが、それでも存在していて、プロパティを設定することができます。


 text textread