2012-02-02 133 views
0

我明白使用matplotlib.pyplot的imshow給了我一個很好的草圖,可以用來可視化矩陣。我的問題是,當我想要可視化矩陣時,函數會根據我傳遞的值調整色彩密度。 例如:蟒蛇imshow灰度靜態顏色值

#define a numpy matrix with values between 0 and 1 
k=numpy.array([ 
     [ 1.  , 0.9701425 , 0.99931483], 
     [ 0.9701425 , 1.  , 0.97845444], 
     [ 0.99931483, 0.97845444, 1.  ]]) 
#plot the matrix 
plt.imshow(k,cmap=cm.gist_gray) 

我得到1和0.97之間的巨大差異的圖像。如果我這樣做:

k[2][2]=.1 
plt.imshow(k,cmap=cm.gist_gray) 

我得到一個完全不同的圖片。有什麼辦法可以解決這個問題嗎?有什麼辦法可以讓我們有靜態顏色值的圖像,而不是像上面那樣動態地改變圖像?

回答

2

您可以使用vminvmax關鍵參數imshow記錄爲here。特別是,如果您修改imshow呼叫

plt.imshow(k, vmin=0, vmax=1) 

好像有一個價值0和存在於數據的值1顏色將常態化。