matplotlib自定义鼠标光标坐标格式

matplotlib默认在图像Windows窗口中显示当前鼠标光标所在位置的坐标,格式为x=xx, y=xx
鼠标光标的坐标格式由子图模块Axes中的format_coord函数控制。
通过重写format_coord函数即可实现坐标的自定义格式。
注意:调用format_coord函数的对象是子图对象,常见的错误主要在没有正确的获取当前子图对象。
matplotlib自定义鼠标光标坐标格式_第1张图片

format_coord函数源码

matplotlib.axes.Axes.format_coord

def format_coord(self, x, y):
    """Return a format string formatting the *x*, *y* coordinates."""
    if x is None:
        xs = '???'
    else:
        xs = self.format_xdata(x)
    if y is None:
        ys = '???'
    else:
        ys = self.format_ydata(y)
    return 'x=%s y=%s' % (xs, ys)

自定义坐标格式实现

import matplotlib.pyplot as plt

def format_coord(x, y):
    return 'x坐标为%1.4f, y坐标为%1.4f' % (x, y)
#获取当前子图
ax=plt.gca()
ax.format_coord = format_coord
plt.show()

matplotlib自定义鼠标光标坐标格式_第2张图片

你可能感兴趣的:(Matplotlib,matplotlib,坐标,格式,光标,子图)