目前,我广泛使用 MATLAB 来分析实验科学数据(主要是时间轨迹和图像)。然而,我一次又一次地遇到 MATLAB 语言的基本问题,我想切换到 python。然而,matlab 的一个特性让我望而却步:它能够将数据提示添加到绘图和图像中。
对于线图,数据提示是显示其坐标的数据点之一旁边的窗口。这对于快速查看数据点的位置及其价值非常有用。当然,这也可以通过检查用于绘制线条的向量来完成,但这会稍微麻烦一些,并且在尝试分析大量数据时会让人头疼。例如,假设我们很快想知道 x 的值是多少,y=0.6。移动数据提示将很快给出粗略的估计。
对于图像,数据提示显示 x 和 y 坐标,还显示灰度值(MATLAB 称为索引)和 RGB 颜色。我主要对这里的灰度值感兴趣。假设我们想知道猫眼瞳孔底部尖端的坐标。数据提示允许简单地单击该点并复制坐标(手动或以编程方式)。或者,必须编写一些图像处理脚本来找到这个像素位置。对于不值得的一次性分析。
我最熟悉并且通常被称为最灵活的python绘图库是matplotlib。一个旧的库存溢出问题似乎表明这可以使用来完成mpldatacursor
,另一个模块似乎是mplcursors
. 然而,这些库似乎与 Spyder 不兼容,限制了它们的可用性。另外,我想许多 python 程序员会使用数据提示之类的功能,所以不得不依赖 3rd 方模块似乎很奇怪。
现在进入实际问题:是否有任何模块(或我可以放入我的个人库中的简单代码)在 python 脚本生成的所有图形中获得相当于 MATLAB 的数据提示?