【问题标题】:matlab selecting regions in matlab plotmatlab在matlab图中选择区域
【发布时间】:2017-01-19 21:14:12
【问题描述】:

我在 Matlab 中处理绘图时遇到问题。以下是我对 Plots 的问题:

  • 如何在使用鼠标绘制数据后选择区域?
  • 选择区域后如何从该区域获取数据?

有什么想法吗?

【问题讨论】:

  • 我不知道你的地块是什么样子或者你想定义什么样的区域,所以我不能提供任何具体的说明。尝试查看 ginput 函数。
  • 我的情节有一些二次曲线。 ginput 只给出选定的数据,但是当我有我的情节时,我需要能够使用鼠标选择某个区域或区域,例如使用鼠标拖动两条水平线,这些线之间的区域将是一个区域。
  • ginput 给出了您单击位置的 (x,y) 坐标。例如,您可以使用两次单击(即 [x,y]=ginput(2))来定义矩形的左上角和右下角,并将该矩形中的所有内容用作您的区域。

标签: matlab plot mouse regions


【解决方案1】:

使用 rbbox 功能用鼠标选择区域非常容易。

首先,将 ButtonDownFcn 添加到要绘制 rbbox 的轴上。

hax = axes( ... , 'ButtonDownFcn', @OnClickAxes);

然后你像这样在回调中调用 rbbox

function OnClickAxes( hax, evt )

point1 = get(hax,'CurrentPoint'); % hax is handle to axes
rbbox;
point2 = get(hax,'CurrentPoint'); % hax is handle to axes

end

这里的point1 和point2 将定义鼠标在数据坐标中绘制的矩形的两个角。在 matlab 提示符下键入 doc rbbox 以获取更多信息

现在回答关于二维图的第二个问题。

这段代码将提取并返回选定区域内轴内所有线的数据。

https://gist.github.com/3107790

【讨论】:

    猜你喜欢
    • 2015-02-10
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多