Plot continuous line based on user input
조회 수: 13 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
채택된 답변
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!