绘制numpy数组:设置轴刻度

时间:2016-01-31 21:38:07

标签: python arrays numpy matplotlib

在绘制来自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的刻度, 我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以通过调用以下函数/方法之一来设置轴刻度:

  1. 使用axes对象的成员函数:

    ax.set_xlim(0, 10)
    ax.set_ylim(0, 10)
    

    其中ax是轴对象(您可以通过ax = plt.gca()获取当前的一个)。

  2. 使用模块函数plt.axis

    plt.axis([0, 10, 0, 10])
    
  3. 您可以在documentation of matplotlib

    中找到更多信息