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 件)

カテゴリ

Help Center および File ExchangeData Exploration についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by