我知道使用 matplotlib.pyplot 的 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
and vmax
的关键字参数imshow
据记录here http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.imshow。特别是,如果您修改您的imshow
call to
plt.imshow(k, vmin=0, vmax=1)
颜色将被标准化,就好像有一个值一样0
和一个值1
存在于数据中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)