【问题标题】:How to plot multiple clicked points on a Matlab axes?如何在 Matlab 轴上绘制多个点击点?
【发布时间】:2013-12-25 20:08:38
【问题描述】:

使用ginput(或ginputax)我要求我的用户在轴上单击 10 次(用于光谱基线校正)。

我的轴基于 GUIDE GUI。

基本上是这样开始的

plot(handles.axes_preview, ppm, xf_base, 'w-', 'LineWidth', 2);

spline_ppm = ginputax(handles.axes_preview, 10);

我想绘制每次点击(如ro在输入时,以便用户对他们点击的位置有一些反馈。

任何想法如何编码?

【问题讨论】:

  • 一旦你从 ginput 获得[x,y],在下一行中绘制它们并在下一行中输入pause(0.001)

标签: matlab plot matlab-guide


【解决方案1】:

一个简单的循环怎么样?

axis(handles.axes_preview); %// make handles.axes_preview the current axis
hold on
for ii = 1:10
    coords(ii,:) = ginput(1);
    plot(coords(ii,1),coords(ii,2),'ro')
end

另外,你可能想添加

set(handles.axes_preview),'XLimMode','manual');
set(handles.axes_preview),'YLimMode','manual');

在开始时防止轴刻度随着用户输入点而自动改变。

【讨论】:

  • 谢谢 - 稍作修改后效果很好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多