draw multiple line segments, stairs(), plot() function?

assuming coordinates are known. x = [1,10], y = [1,10] Please help. Note: should be exactly the same as in the picture. (with dashes, circle points)

Thanks

 채택된 답변

Walter Roberson
Walter Roberson 2015년 10월 14일

1 개 추천

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

댓글 수: 1

Very helpful. A few mistyped NaNs but otherwise solved my problem completely.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Line Plots에 대해 자세히 알아보기

질문:

2015년 10월 14일

댓글:

2019년 7월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by