如下代码:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randint(0, 100, size=(10, 10))
plt.imshow(data, cmap='jet', interpolation='nearest')
plt.show()

给出下图:

python - Matplotlib imshow()的手动定义的轴标签-LMLPHP

但是,我想手动定义它们,而不是对应于数组中索引的轴标签。例如,我希望轴标签不是(0,10,20,30 ...),而不是上面的(0,2,4,6,6,8)。

这是我为此尝试过的代码:
import matplotlib.pyplot as plt
import numpy as np

data = np.random.randint(0, 100, size=(10, 10))
labels = range(0, 100, 10)
plt.imshow(data, cmap='jet', interpolation='nearest')
plt.xticks(labels)
plt.yticks(labels)
plt.show()

但是,这给出了下图:

python - Matplotlib imshow()的手动定义的轴标签-LMLPHP

如何获得外观与第一个相似但具有轴标签如第二个相似的图形?

最佳答案

最好的方法是修改imshow参数中的范围值:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randint(0, 100, size=(10, 10))
plt.imshow(data, cmap='jet', interpolation='nearest', extent=[0, 100, 0, 100])
plt.show()

关于python - Matplotlib imshow()的手动定义的轴标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33283601/

10-10 20:00