メインコンテンツ

newplot を使用したプロットのコントロール

この例では、ユーザーが記述したプロット関数の座標軸を準備する方法を説明します。プロパティの設定にはドット表記を使用します。

特殊なプロット関数からの出力を管理するには、newplot を使用します。関数 myPlot2D は、次のように動作します。

  • 複数ラインのプロット用に、周回するライン スタイルと単一の色を使用

  • 指定された表示名をもつ凡例を追加

function myPlot2D(x,y)
   % Call newplot to get the axes object
   cax = newplot;
   % Customize axes
   cax.FontName = 'Times';
   cax.FontAngle = 'italic';
   
   % Create plot
   hLines = line(x,y,...
      'Color',[.5,.5,.5],...
      'LineWidth',2);
   lso = ['- ';'--';': ';'-.'];
   setLineStyle(hLines)
   grid on
   legend('show','Location','SouthEast')

   function setLineStyle(hLines)
      style = 1;
      for ii = 1:length(hLines)
         if style > length(lso)
            style = 1;
         end
         hLines(ii).LineStyle = lso(style,:);
         hLines(ii).DisplayName = num2str(style);
         style = style + 1;
      end
   end
end

次のプロットは、myPlot2D 関数の典型的な出力を示します。

x = 1:10;
y = peaks(10);
myPlot2D(x,y)

myPlot2D 関数は、ユーザーが記述したプロット関数の基本構造を示します。

  • newplot を呼び出し、axes オブジェクトを取得してカスタマイズします。

  • プロット関数 (たとえば、linelegend) を呼び出し、プロットを作成します。

myPlot2D は、newplot が返す axes オブジェクトを使用してターゲットの座標軸にアクセスするため、次のように動作します。

  • 以後の呼び出しを行うたびに座標軸をクリアする場合は、MATLAB® プロット関数の動作に準拠します。

  • holdon に設定されている場合は、正しく動作します。

NextPlot プロパティに対する既定の設定を使用すれば、MATLAB の標準動作に準拠するプロット関数の記述を確実にできます。標準動作とは、Figure ウィンドウは再利用するが、新しいプロットごとに座標軸をクリアし、リセットすることです。