Plot dashed lines to given y value on a graph

How can I get dashed lines from each axis out to a point at a graph, given by a specified y value?
Somehow i would also like to get the corresponding x value represented.
Thanks for any help. For use in an example:
x = [0:1:25];
y = x * pi ;
plot(x,y)

 채택된 답변

x = [0:1:25];
y = x * pi ;
stem(x,y, '--')

댓글 수: 4

Somehow i would also like to get the corresponding x value represented.
annotation() maybe? text() maybe?
Rudolf
Rudolf 2021년 4월 20일
편집: Rudolf 2021년 4월 20일
Stem is only plotting the graph sort of. I was looking for a way to get one dashed line from y-axis, for example at value 30, to go out to where it hits the graph, then a dashed line from this point down to the x-axis. And then in some way represent that x-value. I will check out text(), thanks.
x = [0:1:25];
y = x * pi ;
plot(x, y);
hold on
ytarg = 30;
[~,yidx] = min(abs(y-ytarg));
xtarg = x(yidx);
plot([0, xtarg xtarg], [30 30 0], '--');
text(2, 50, sprintf('x=%g', xtarg), 'HorizontalAlignment', 'center')
plot([2 xtarg], [50 y(yidx)], '-k');
hold off
With this code, you would need to use a finer-grain x to have the points match up better.
You could interpolate to find a more accurate x, but the ease of doing that would depend upon whether the y is monotonic. y is monotonic in this case, so it could be done easily with xi = interp1(y,x,30)
Rudolf
Rudolf 2021년 4월 20일
Perfect!! Thank you so much! This solved the challenge.

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

추가 답변 (0개)

카테고리

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

질문:

2021년 4월 20일

댓글:

2021년 4월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by