newplot を使用したプロットのコントロール
この例では、ユーザーが記述したプロット関数の Figure および座標軸を準備する方法を説明します。プロパティの設定にはドット表記を使用します。
特殊なプロット関数からの出力を管理するには、newplot
を使用します。関数 myPlot2D
は、次のように動作します。
特定の出版要件に合わせて座標軸と Figure の外観をカスタマイズ
複数ラインのグラフ用に、周回するライン スタイルと単一の色を使用
指定された表示名をもつ凡例を追加
function myPlot2D(x,y) % Call newplot to get the axes handle cax = newplot; % Customize axes cax.FontName = 'Times'; cax.FontAngle = 'italic'; % Customize figure fig = cax.Parent; fig.MenuBar= 'none'; % Call plotting commands to % produce custom graph 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
は、ユーザーが記述したプロット関数の基本構造を示します。
関数 myPlot2D
は、newplot
が返すハンドルを使用してターゲットの Figure と座標軸にアクセスするため、次のように動作します。
以後の呼び出しを行うたびに座標軸をクリアする場合は、MATLAB® プロット関数の動作に準拠します。
hold
がon
に設定されている場合は、正しく動作します。
NextPlot
プロパティに対する既定の設定を使用すれば、MATLAB の標準動作に準拠するプロット関数の記述を確実にできます。標準動作とは、Figure ウィンドウは再利用するが、新しいグラフごとに座標軸をクリアし、リセットすることです。