gpt4 book ai didi

python - 在 matplotlib 中设置 tickslabel 禁用鼠标光标位置

转载 作者:行者123 更新时间:2023-12-01 05:55:52 25 4
gpt4 key购买 nike

每当我在 matplotlib 中绘制某些内容时,将鼠标移动到绘图上会在底部显示光标的 x 和 y 位置。这在探索数据时非常方便。

现在,如果我将刻度标签设置为其他内容,则绘图底部光标的 x 位置为空,而 gui 会跟踪 y 位置。有没有办法保持x位置?

这是发生这种情况的一个简单示例:

import numpy as np
fig, ax = plt.subplots()
x=np.linspace(0,np.pi)
y=np.sin(x)
ax.plot(x,y)
ax.set_xticks([0,np.pi/2,np.pi])
ax.set_xticklabels(['0','pi/2','pi'])
plt.show()

最佳答案

不,没有简单的方法可以做到这一点。

当您使用字符串列表设置标签时,您将 xaxis.major_formatter 设置为 FixedFormatter (doc)它有一些特殊的行为来使其工作(它总是返回 '',除非你给它第三个参数,该参数在它标记 x 轴时给出,否则不会)。光标所在位置的标记是使用 major_formatter 生成的,当您调用 FixedFormatter 时,它会返回 '',这就是显示的内容。

如果您真的想要这个,您必须编写自己的回调,请参阅Color values in imshow for matplotlib?为起点。 (或子类axes并重新实现format_coord(在当前matplotlib主分支中axes.py中的第2903行附近)

关于python - 在 matplotlib 中设置 tickslabel 禁用鼠标光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com