gpt4 book ai didi

python - 向 matplotlib 导航工具栏/状态栏添加信息?

转载 作者:太空狗 更新时间:2023-10-29 18:26:40 25 4
gpt4 key购买 nike

我正在使用 matplotlib 绘制二维数组。在窗口的右下角显示了光标的 x 和 y 坐标。如何向此状态栏添加有关光标下方数据的信息,例如,而不是“x=439.501 y=317.744”,它会显示“x,y:[440,318] 数据:100”?我能否以某种方式获取此导航工具栏并编写我自己的要显示的消息?

我已经设法为“button_press_event”添加了我自己的事件处理程序,以便在终端窗口上打印数据值,但这种方法只需要大量鼠标点击并淹没交互式 session 。

最佳答案

您只需重新分配 ax.format_coord,即用于绘制该标签的回调。

参见 this example从文档,以及 In a matplotlib figure window (with imshow), how can I remove, hide, or redefine the displayed position of the mouse?matplotlib values under cursor

(直接从示例中提取的代码)

"""
Show how to modify the coordinate formatter to report the image "z"
value of the nearest pixel given x and y
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

X = 10*np.random.rand(5,3)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(X, cmap=cm.jet, interpolation='nearest')

numrows, numcols = X.shape
def format_coord(x, y):
    col = int(x+0.5)
    row = int(y+0.5)
    if col>=0 and col<numcols and row>=0 and row<numrows:
        z = X[row,col]
        return 'x=%1.4f, y=%1.4f, z=%1.4f'%(x, y, z)
    else:
        return 'x=%1.4f, y=%1.4f'%(x, y)

ax.format_coord = format_coord
plt.show()

关于python - 向 matplotlib 导航工具栏/状态栏添加信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876011/

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