2012-02-02 69 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颜色将常态化。