draw line between points in the figure

3 ビュー (過去 30 日間)
sermet
sermet 2014 年 4 月 29 日
コメント済み: Image Analyst 2014 年 4 月 29 日
points_id={'p1','p2','p3','p4'}
x=[100,120,130,140] %coordinates
y=[200,220,330,340] %coordinates
figure(1),scatter(x, y, 'b^');grid on;
text(x, y, points_id)
title('COORDINATE SYSTEM')
xlabel('Y')
ylabel('X')
% in this figure I wanna draw lines between points when user click on corresponding points.
  1 件のコメント
per isakson
per isakson 2014 年 4 月 29 日
Search help for "line"

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2014 年 4 月 29 日
Get the points, for example by using ginput. Then find out which of the points is closest to the 2 points they clicked on. Then draw a line between them. Here's a demo:
clc;
clear all;
workspace
points_id={'p1','p2','p3','p4'}
x=[100,120,130,140] %coordinates
y=[200,220,330,340] %coordinates
figure(1),scatter(x, y, 'b^');
grid on;
text(x, y, points_id)
title('COORDINATE SYSTEM')
xlabel('Y')
ylabel('X')
uiwait(msgbox('Click on two points', 'modal'));
[xu, yu] = ginput(2);
% Find the closest point to the first point where they clicked.
distances1 = sqrt((x-xu(1)).^2 + (y - yu(1)).^2)
[~, index1] = min(distances1)
% Find the closest point to the second point where they clicked.
distances2 = sqrt((x-xu(2)).^2 + (y - yu(2)).^2)
[~, index2] = min(distances2)
line([x(index1), x(index2)], [y(index1), y(index2)])
  6 件のコメント
sermet
sermet 2014 年 4 月 29 日
編集済み: sermet 2014 年 4 月 29 日
could you give example codes for what you meant please?
Image Analyst
Image Analyst 2014 年 4 月 29 日
I don't have any sample/demo code for that. Either you or I would have to write it. I vote for you.

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by