以下代码:
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()
Run Code Online (Sandbox Code Playgroud)
给出下图:
但是,我想手动定义它们,而不是与数组中的索引对应的轴标签.例如,如上所述,轴标签不是(0,2,4,6,8),而是希望它们为(0,10,20,30 ......).
这是我为此尝试的代码:
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()
Run Code Online (Sandbox Code Playgroud)
但是,这给出了下图:
我怎样才能获得一个像第一个一样的外观的数字,但是像第二个那样的轴标签?
最好的方法是修改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()
Run Code Online (Sandbox Code Playgroud)
        定义轴并修改xticklabels,而不是轴本身.像这样的东西:
fig, ax1 = plt.subplots(1,1)
data = np.random.randint(0, 100, size=(10, 10))
ax1.imshow(data, cmap='jet', interpolation='nearest')
ax1.set_xticklabels(['', 0,10,20,30,40])
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           16564 次  |  
        
|   最近记录:  |