Python 我可以在matplotlib中显示没有科学符号的图片的像素值吗

Python 我可以在matplotlib中显示没有科学符号的图片的像素值吗,python,matplotlib,Python,Matplotlib,例如,我有一个numpy数组,我使用matplotlib将其显示如下: import numpy as np import matplotlib.pyplot as plt img = np.array([[12,230],[1322,2122]]) tmp = plt.imshow(img,cmap=plt.cm.jet) plt.colorbar() plt.show() 结果是: 但我想在右下角显示完整的数字,如2122,不带科学符号2.12e+03。有些方法不起作用 我怎么做?提前

例如,我有一个numpy数组,我使用matplotlib将其显示如下:

import numpy as np
import matplotlib.pyplot as plt

img = np.array([[12,230],[1322,2122]])
tmp = plt.imshow(img,cmap=plt.cm.jet)
plt.colorbar()
plt.show()
结果是:

但我想在右下角显示完整的数字,如
2122
,不带科学符号
2.12e+03
。有些方法不起作用


我怎么做?提前感谢。

要更改绘图导航栏上的光标数据,请将AxeImage的
格式光标数据替换为我们打算使用的数据。在这种情况下,我们使用
str
函数将数字转换为字符串,而不使用科学符号

首先,我们定义自定义的
格式\u光标\u数据
函数:

def format_cursor_data(data):
    return "[" + str(data) + "]"
然后用我们自己的函数替换AxeImage的
格式化光标\u数据

tmp.format_cursor_data = format_cursor_data
因此,完整脚本将如下所示:

import numpy as np
import matplotlib.pyplot as plt

img = np.array([[12,230],[1322,2122]])
tmp = plt.imshow(img,cmap=plt.cm.jet)

def format_cursor_data(data):
    return "[" + str(data) + "]"

tmp.format_cursor_data = format_cursor_data

plt.colorbar()
plt.show()
结果图: