用有限轴从Matlab绘图中检索数据

用有限轴从Matlab绘图中检索数据,matlab,plot,findall,Matlab,Plot,Findall,如何从有限轴的Matlab绘图窗口检索数据?代码: plot(ua,va,'rO'); axis([-320 320 -240 240]); box on; lh=findall(gcf,'type','line'); xp=get(lh,'xdata'); yp=get(lh,'ydata'); 如果绘图窗口上没有数据,xp和yp将从绘图功能(没有窗口本身)中提供数据。假设xp和yp是所有点的x和y坐标。您可以删除[-320-240]之外的点,如下所示: ii = xp < -320

如何从有限轴的Matlab绘图窗口检索数据?代码:

plot(ua,va,'rO');
axis([-320 320 -240 240]); box on;
lh=findall(gcf,'type','line');
xp=get(lh,'xdata');
yp=get(lh,'ydata');

如果绘图窗口上没有数据,xp和yp将从绘图功能(没有窗口本身)中提供数据。

假设
xp
yp
是所有点的x和y坐标。您可以删除
[-320-240]
之外的点,如下所示:

ii = xp < -320 | xp > 320 | yp < -240 | yp > 240;
xp(ii) = [];
yp(ii) = [];
ii=xp<-320 | xp>320 | yp<-240 | yp>240;
xp(ii)=[];
yp(ii)=[];

您能澄清一下“有限轴”和“无窗口本身”的含义吗?您是否只想获取正在显示的图形中的数据?@b3有限轴,我限制为[-320-240];我需要绘图窗口中的数据。例如,为轴设置限制,当调用plot时,Matlab不会显示任何内容,因为这些数据超出了amx和min轴值。我想要的是当前窗口中的数据,而不是存储的绘图函数中的数据。@Makaroni,请注意,如果您不知道这些限制,则它们位于轴的XLim和YLim属性中。谢谢nibot。虽然它不是直接的解决方案,但它给出了我想要的。