2016-01-31 30 views
1

我有一些麻烦试图从numpy的阵列绘制图像时,以保持良好的缩放轴。绘制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

可以通过调用的以下功能/方法的一个设置的轴刻度:

  1. 随着轴的成员函数的对象:

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

    其中ax是轴对象(你可以得到通过ax = plt.gca()当前的)。

  2. 与模块功能plt.axis

    plt.axis([0, 10, 0, 10]) 
    

你会发现在documentation of matplotlib

更多信息