Graphics | ![]() ![]() |
高水準対低水準
MATLABの高水準グラフィックスルーチン(たとえば、plot
やsurf
)は、適切なオブジェクト作成関数を呼び出して、グラフィックスオブジェクトを描画します。しかし、高水準ルーチンは、AxesやFigureのNextPlot
プロパティの設定によって、Axesを消去したり、あるいは、新しいFigureを作成したりします。
対照的に、オブジェクト作成関数は、単にそれぞれのグラフィックスオブジェクトを作成し、カレントの親オブジェクト内に配置するだけです。それらはAxesやFigureのNextPlot
プロパティの設定を無視します。
たとえば、つぎのように関数line
を呼び出すと、
line('XData',x,'YData',y,'ZData',z,'Color','r')
MATLABは、設定したデータ値を使って、カレントAxesに赤いラインを描きます。Axesがない場合、MATLABはAxesを作成します。Axesを作成するFigureウィンドウがない場合、MATLABはそれも作成します。
関数line
を2度目に呼び出すと、MATLABは最初のラインを消去しないで、カレントAxesに2番目のラインを描きます。この挙動は、グラフィックスオブジェクトを削除してすべてのAxesプロパティ(Position
とUnits
を除きます)をリセットするplot
のような高水準関数とは異なります。高水準関数の挙動は、hold
コマンドを使うか、AxesのNextPlot
プロパティの設定を変更することによって変更することができます。
この挙動およびNextPlot
プロパティの使用方法の詳細については、この章の"グラフィックス出力の制御"を参照してください。
![]() | 親オブジェクトの設定 | 単純化した呼び出し書式 | ![]() |