Plot continuous line based on user input

조회 수: 13 (최근 30일)
Aarav Shah
Aarav Shah 2019년 11월 26일
답변: Adam Danz 2019년 11월 27일
So I have a user click on the plot.
The code is as such: [xClic,yClic]=ginput(1);
How would I plot a line with a slope of one that goes infinitely until it hits the y axis. The start of the line should be the [xClic,yClic].
Any ideas? All help appreciated.

채택된 답변

Adam Danz
Adam Danz 2019년 11월 27일
"How would I plot a line with a slope of one that goes infinitely until it hits the y axis"
I'm interpreting this as a line that extends from point (xClic,yClic) to the point that crosses the vertical line at x=0, with a slope of 1.
If that interpretation is correct, all you need to so is compute the y intercept.
% Point where user clicked
xClic = -2;
yClic= -5;
% Plot that point
plot(xClic, yClic,'bo')
xlim([-8 8])
ylim([-8,8])
hold on
% Compute y intercept for slope of 1
b = yClic-1*xClic;
% Plot the line between the click point and the y intercept
plot([xClic,0],[yClic,b],'b-')
A similar approach is to use refline() but that extends to your axis limits.
h = refline(1,b)
h.LineStyle = ':'

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by