Graphics | ![]() ![]() |
例題 - デフォルトのLinestylesの設定
関数plot
は複数ラインのプロットを表示する際に、AxesのColorOrder
プロパティで定義されたカラーを繰り返して使用します。AxesのLineStyleOrder
プロパティに複数の値を定義すると、MATLABはカラーが一巡するごとにラインスタイルを変更します。
異なるカラーではなく異なるラインスタイルを使って関数plot
がグラフを作成するように、デフォルトプロパティ値を設定することができます。これは、モノクロディスプレイで作業を行う場合、あるいは白黒のプリンタで印刷する場合に便利です。
例題 1
この例では、プロット(Axes)のバックグランドカラーを白としてFigureを作成し、Axesオブジェクトに対するデフォルト値をRootレベルで設定します。
whitebg('w') % Figureを作成し白の色構成を使用 set(0,'DefaultAxesColorOrder',[0 0 0],... 'DefaultAxesLineStyleOrder','-|--|:|-.')
Z = peaks; plot(1:49,Z(4:7,:))
AxesのColorOrder
は、1つのカラーしか含まれていないので、plot はプロットするすべてのデータに対して1つのカラーを使用しますが、 LineStyleOrder
に定義したラインスタイルを循環して使用します。
例題 2
この例では、階層の複数のレベルでデフォルト値を設定します。つぎのステートメントは、1つのFigureウィンドウに2つのAxesを作成し、デフォルト値をFigureレベルとAxesレベルで設定します。
t = 0:pi/20:2*pi; s = sin(t); c = cos(t); % AxesのColorプロパティにデフォルト値を設定 figh = figure('Position',[30 100 800 350],... 'DefaultAxesColor',[.8 .8 .8]); axh1 = subplot(1,2,1); grid on % 最初のAxesのLine LineStyleプロパティにデフォルト値を設定 set(axh1,'DefaultLineLineStyle','-.') line('XData',t,'YData',s) line('XData',t,'YData',c) text('Position',[3 .4],'String','Sine') text('Position',[2 -.3],'String','Cosine',... 'HorizontalAlignment','right') axh2 = subplot(1,2,2); grid on % 2番目のAxesのText Rotationプロパティにデフォルト値を設定 set(axh2,'DefaultTextRotation',90) line('XData',t,'YData',s) line('XData',t,'YData',c) text('Position',[3 .4],'String','Sine') text('Position',[2 -.3],'String','Cosine',... 'HorizontalAlignment','right')
同じline
ステートメントとtext
ステートメントを各サブプロット領域で実行すると、異なるデフォルト設定を反映した異なる表示となります。
デフォルトのAxesのColor
プロパティは階層のFigureレベルで設定されるので、MATLABは設定されたグレイのバックグランドカラーで両方のAxesを作成します。
左側のAxes(サブプロット領域121)は、デフォルトとして一点鎖線スタイル(-.
)を定義しているので、関数line
の呼び出しに対して一点鎖線が使われます。右側のAxesは、デフォルトのラインスタイルを定義していないので、MATLABは実線を使用します(Lineに対するTMW作成時の設定値)。
右側のAxesは、デフォルトで90度のTextのRotation
を定義し、すべてのTextをこの量だけ回転させます。MATLABは、作成時の設定値から他のすべてのプロパティ値を取り入れるので、その結果、左側ではテキストは回転しません。
MATLABを実行するたびにデフォルト値を設定するためには、デフォルト値を startup.m
ファイルに設定してください。MATLABは、colordef
コマンドを呼び出すことによって起動すると、外観を設定するいくつかのプロパティに対するデフォルト値を設定する場合があることに注意してください。詳細については、オンラインのMATLAB関数リファレンスを参照してください。
![]() | デフォルト値の設定 | オブジェクトハンドルへのアクセス | ![]() |