Matlab中的可点击/交互式等高线图

时间:2014-01-21 20:21:25

标签: matlab plot onclick contour

我已经形成了180X360的2D矩阵。实际上,它是1°X1°的LatXLong网格。每个网格点都有一个根据我的算法计算的值。

如果我想使用任何轮廓功能绘制LatXLong网格,很容易做到。

现在,我需要做的是使这个网格成为一个可点击/交互的等高线图,当用户点击我的网格图上的任何地方时,他会获得一个屏幕信息或另一个特定显示的图表。那个网格点。

简而言之,我想制作一个网格/等高线图,其中所有网格点都是超链接并链接到更多背景信息。

2 个答案:

答案 0 :(得分:1)

检查this回答: 如果您不希望将变量作为绘图的标题,则可以将代码修改为:

function mouseExample()
    h = plot(rand(10,1), 'o-');
    set(h, 'ButtonDownFcn',@buttonDownCallback)

    function out = buttonDownCallback(o,e)
        p = get(gca,'CurrentPoint');
        out = p(1,1:2);
        % title( sprintf('(%g,%g)',p) ) % --> no need this line anymore
    end
end

信息保存在P变量中,以后可以使用。

答案 1 :(得分:0)

要开始使用,请查看ginputtext。 ginput将允许您单击绘图中的点并将坐标返回到某个函数,该函数可以使用打开另一个图形的文本生成要在当前图表中显示的信息。

您可以在循环中使用ginput来显示多个数据点:

for t = 1:10
    [x,y] = ginput(1);
    text(x,y,'some info');
end

我不知道如何移除网格线。 NKN的解决方案可能会为您做到这一点。