Why do LINE and PLOT not honor the default properties for a line that have been set using MATLAB 7.8 (R2009a)?

I have changed the defaults for the line on an axis as below. When I plot a line using LINE or PLOT, the figure does not contain the default properties for the lines drawn as I have set them.
h = gca;
set(h, 'DefaultLineLineStyle', '-.')
set(h, 'DefaultLineMarker', 'o')
set(h, 'DefaultLineColor', 'g')
set(h, 'DefaultLineMarkerEdgeColor', 'r')
set(h, 'DefaultLineMarkerFaceColor', 'b')
hold on
plot(0,0)
plot(1,1, '*')
plot(2,2, 'o')
line([0 4], [0 -4])
line([0 4], [-1 -5], 'Color', 'g')

 Accepted Answer

The changed default properties for the axis are honored if LINE is called using the low-level syntax of LINE as below:
h = gca
set(h, 'DefaultLineMarker', 'o')
set(h, 'DefaultLineColor', 'g')
set(h, 'DefaultLineMarkerEdgeColor', 'r')
set(h, 'DefaultLineMarkerFaceColor', 'b')
set(h, 'DefaultLineLineStyle', ':')
line('xdata',[0 4]', 'ydata',[0 -4]')
More information regarding low-level syntax of LINE is available at:
<http://www.mathworks.com/access/helpdesk/help/techdoc/ref/line.html>
PLOT is a high-level function and picks up the default properties set for the figure, for example:
set(gcf,'DefaultAxesColorOrder',[1 0 0;0 1 0;0 0 1],...
'DefaultAxesLineStyleOrder','-|--|:')
t = 0:pi/20:2*pi;
a = ones(length(t),9);
for i = 1:9
a(:,i) = sin(t-i/5)';
end
plot(t,a)
More information regarding line styles used for plotting is available at:
<http://www.mathworks.com/access/helpdesk/help/techdoc/creating_plots/bqsxy_a-1.html#f1-13155>

More Answers (0)

Categories

Products

Release

R2009a

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!