我不确定是否可以更改特定的字体大小。但是,作为替代方案,可以使用text方法绘制鼠标坐标。为此,我创建了一个带有两个轴的图形。顶部轴最小,用于使用上述文本方法绘制鼠标坐标,而底部轴用于您的绘图。此外,我定义了一个函数,该函数将在鼠标移动时调用。此函数负责更新鼠标坐标。请参见下面的代码:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = 15
x = np.arange(0, 100)
y = np.sin(np.pi * x / 10)
fig, ax = plt.subplots(nrows=2,
ncols=1,
figsize=(6.4, 5.6),
gridspec_kw={'height_ratios': [0.8 / 5.6, 4.8 / 5.6]}
)
ax[0].axis('off')
default_text = "Cursor location will be shown here"
ax[0].text(0.5, 0.5, default_text, va='center', ha='center', color='grey')
ax[1].plot(x, y)
ax[1].set_title("Sin(x)")
def update_mouse_coordinates(ax, text, event):
if event.inaxes == ax or event.xdata==None or event.ydata==None:
ax.texts[0].set_text(text)
plt.draw()
return
ax.texts[0].set_text(f"x={event.xdata:.4f}; y={event.ydata:.4f}")
plt.draw()
plt.connect('motion_notify_event',
lambda event: update_mouse_coordinates(ax[0], default_text, event)
)
plt.show()
无论鼠标在哪里,只要不在底部坐标轴(即您的绘图区域),它看起来都是这样的:
![Mouse outside bottom axes](https://istack.dev59.com/mfodX.webp)
一旦您的鼠标在底部坐标轴内部的某个位置,您将获得以下行为: