在绘制来自numpy数组的图像时,我有一些麻烦试图保持一个良好的轴。
这是我的代码:
def graphique(pixelisation):
Couleur = {1 : "Vert", 2 : "Orange", 3 : "Rouge"}
for c in range(1,2):
liste = np.zeros((int(60//pixelisation),int(150//pixelisation)))
for d in range(int(150//pixelisation)):
for v in range(int(60//pixelisation)):
my_input = {
"Distance" : d*pixelisation,
"Vitesse" : v*pixelisation,
"Couleur" : c
}
my_output = {
"Acceleration" : 0.0
}
liste[v,d] = system.calculate(my_input, my_output).get("Acceleration")
image = plt.matshow(liste)
plt.title('a=f(d,v), feu '+Couleur.get(c))
plt.xlabel('Distance(m)')
plt.xaxis(0,150)
plt.xticks(range(0,150,10))
plt.ylabel('Vitesse(km/h)')
plt.yticks(range(0,60,10))
plt.colorbar(image)
plt.show()
return liste
问题是我创建了一个减少数组大小的参数。 但如果我将大小除以2,则x和y轴从0变为正常范围的一半。
我在matplotlib数据库中做了一些研究,但没有发现任何东西(我实际上并不了解所有函数)。
感谢您的帮助!
编辑:
例如 :
A = np.zeros((10,10))
plt.matshow(A)
plt.show()
会给我一张轴从0到10的图像。
现在如果:
A = np.zeros((100,100))
如果我想让轴仍然显示从0到10的刻度,
我该怎么办?
答案 0 :(得分:1)
您可以通过调用以下函数/方法之一来设置轴刻度:
使用axes对象的成员函数:
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
其中ax
是轴对象(您可以通过ax = plt.gca()
获取当前的一个)。
使用模块函数plt.axis
plt.axis([0, 10, 0, 10])