python – 为Matplotlib 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')
plt.show()

给出下图:

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

这是我为此尝试的代码:

import matplotlib.pyplot as plt
import numpy as np

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

但是,这给出了下图:

我怎样才能获得一个像第一个一样的外观的数字,但是像第二个那样的轴标签?

解决方法

定义轴并修改xticklabels,而不是轴本身.像这样的东西:

fig,ax1 = plt.subplots(1,1)
data = np.random.randint(0,10))
ax1.imshow(data,interpolation='nearest')
ax1.set_xticklabels(['',30,40])

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。