蟒蛇imshow灰度静态颜色值
问题描述:
我明白使用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)
我得到一个完全不同的图片。有什么办法可以解决这个问题吗?有什么办法可以让我们有静态颜色值的图像,而不是像上面那样动态地改变图像?
答
您可以使用vmin
和vmax
关键参数imshow
记录为here。特别是,如果您修改imshow
呼叫
plt.imshow(k, vmin=0, vmax=1)
好像有一个价值0
和存在于数据的值1
颜色将常态化。