如何查找给定图线的所有点

时间:2013-07-08 20:26:35

标签: matlab plot

大家好我想找一个情节中的所有点并将其保存在数组中

例如我是这个图表我希望从行的开头到结尾的所有点

% Drawing a Trajectory
prompt={'Enter The Number Of Lines:'};  % Enter statements at the Command Window to accept input from you.
title='Draw Line '; % Name the Command Window
n=inputdlg(prompt); % Create and open input dialog box
A = sscanf(n{1}, '%d'); % Convert from String to Int
[x,y] = ginput(A); % Graphical input from mouse or cursor
plot(x,y)
posth = [x,y];  % Save 'x' and 'y' as Array 

1 个答案:

答案 0 :(得分:1)

如果你想在事后只获得xy,那么你可以这样做:

line_handles = get(gca,'Children');
x = get(line_handles,'XData');
y = get(line_handles,'YData');

其中gca是指当前图形的当前轴(您可以将其替换为图形的句柄h,即将代码更改为h = plot(x,y))。如果只有一行,xy将是向量。如果有多行,则它们将是单元格数组。

您还可以通过以下方式同时输出xy作为单元格数组:

xy = get(get(gca,'Children'),{'XData','YData'});

,其中

x = xy{1,:};
y = xy{2,:};