在Matlab 2011b中,我有一个多维矩阵,最初要作为其2个维度的2D图表呈现。我希望用左鼠标按钮使标记可点击。单击标记会绘制一个新图,其中包含由所点击值分割的其他维度。
这个问题涉及到 Matlab: Plot points and make them clickable to display informations about it,但我想运行一个脚本,而不仅仅是弹出有关所单击点的数据。
谷歌搜索提示可以使用
由于主图中有许多标记,是否可能只附加一个处理程序到整个曲线,并通过点击的标记的索引(最好)或坐标来调用子图绘制函数?
这个问题涉及到 Matlab: Plot points and make them clickable to display informations about it,但我想运行一个脚本,而不仅仅是弹出有关所单击点的数据。
谷歌搜索提示可以使用
ButtonDownFcn
,但我发现的示例需要手动绘制每个点并附加处理程序,如下所示:hp = plot(x(1), y(1), 'o');
set(hp, 'buttondownfcn', 'disp(1)');
由于主图中有许多标记,是否可能只附加一个处理程序到整个曲线,并通过点击的标记的索引(最好)或坐标来调用子图绘制函数?
pt = get(gca, 'CurrentPoint');
,如上所示。它会给你一个三维点,所以根据你的需求,只需使用第一行即可。 - Rasman