2016-01-31 27 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

更多信息