draw multiple line segments, stairs(), plot() function?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Chen Chen
le 14 Oct 2015
Commenté : Ian Hunter
le 16 Juil 2019
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
0 commentaires
Réponse acceptée
Walter Roberson
le 14 Oct 2015
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 commentaire
Ian Hunter
le 16 Juil 2019
Very helpful. A few mistyped NaNs but otherwise solved my problem completely.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Line Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!