| 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プロパティの使用方法の詳細については、この章の"グラフィックス出力の制御"を参照してください。
| 親オブジェクトの設定 | 単純化した呼び出し書式 | ![]() |