MATLAB: Draw multiple line segments, stairs(), plot() function

plotting linesstairs

Best Answer

You can draw all of the solid or dashed segments at once by providing appropriate coordinates. Place NaN between the pairs:
x = [x1 x1 NaN x2 x2 NaN x3 x3];
y = [y1 y2 NaN y2 y3 NaN y3 y4];
plot(x, y, '-'); %no marker!
hold on
x = [0 x1 Nan x1 x2 Nan x2 x3];
y = [y1 y1 NaN y2 y2 Nan y3 y3];
plot(x, y, '--'); %no marker
and then draw all of the markers of each type
x = [0 x1 x2 x3];
y = [y1 y2 y3 y4];
plot(x, y, 'o'); %no line
x = [x1 x2 x3];
y = [y1 y2 y3];
plot(x, y, 'o', 'MakerFaceColor', 'k'); %no line, fill the marker
To create the axes as lines with arrows, create annotation arrows; see http://www.mathworks.com/help/matlab/ref/annotationarrow-properties.html
Related Question