Connect points to the straight line

Hi everybody,
How can I connect the points to the straight line in the figure ?
Thanks

2 Comments

Are you talking about a stem() plot? Look at the stem() function.
yes, I checked and it works for me! Do you know if there's a way to show the distance from the point to the line? (or the point value, cuz I'd like to have it directly on the plot)

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 27 Aug 2020
Edited: Star Strider on 27 Aug 2020
Try this (with your own data):
x = 1:10; % Create Data
y = 2.5*rand(size(x)); % Create Data
stln = 0;
figure
plot(x, stln+zeros(size(x)), '-r') % Straight Line
hold on
plot(x, y, 'xk') % Points
plot([x; x], [zeros(size(y))+stln; y], '-g') % Connecting Lines
hold off
ptlbls = compose(' %2.1f', y);
text(x, y, ptlbls, 'HorizontalAlignment','left', 'VerticalAlignment','middle')
axis([0 11 -0.1 2.5])
Make appropriate changes to use it with your data.

4 Comments

it doens't work. the error 'vectors must be the same length' comes out. I think the problem is the 'connecting lines' line
It works with my test data, or I would not have posted it. I would have to see your code and data to determine what the problem is.
If you want to use the stem function instead:
figure
stem(x, y)
ptlbls = compose(' %2.1f', y);
text(x, y, ptlbls, 'HorizontalAlignment','left', 'VerticalAlignment','middle')
If the horizontal line is something other than at 0, use the BaseValue name value pair to specify it, and use ShowBaseLine. to turn it 'on' or 'off'.
The problem was that my data were an array of 10 rows and 1 column. I switched them to 1 row and 10 col. and it worked ! Thanks again!!
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Tags

Asked:

on 27 Aug 2020

Commented:

on 28 Aug 2020

Community Treasure Hunt

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

Start Hunting!