Use newplot to Control Plotting
This example shows how to prepare the axes for user-written plotting functions. Use dot notation to set properties.
Use newplot
to manage the output from
specialized plotting functions. The myPlot2D
function:
Uses revolving line styles and a single color for multiline plots.
Adds a legend with specified display names.
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
This plot shows the typical output for the myPlot2D
function:
x = 1:10; y = peaks(10); myPlot2D(x,y)
The myPlot2D
function shows the basic structure of a user-written
plotting function:
Because myPlot2D
uses the axes object returned by
newplot
to access the target axes, this function:
Adheres to the behavior of MATLAB® plotting functions when clearing the axes with each subsequent call.
Works correctly when
hold
is set toon
.
The default settings for the NextPlot
properties ensure that your
plotting functions adhere to the standard MATLAB behavior — reuse the figure window, but clear and reset the axes with
each new plot.