我想用mathplot显示一个白色像素:
import numpy as np
import matplotlib.pyplot as plt
plt.imshow([[0.99]], cmap='gray', interpolation='nearest')
plt.show()
但它显示黑色。为什么呢?
答案 0 :(得分:1)
问题是你只给imshow
一个值,所以颜色标度设置在该值附近,它被绘制为标度的最小值(因此是黑色)。
指定vmin
和vmax
,如图here所示:
import numpy as np
import matplotlib.pyplot as plt
plt.imshow([[0.99]], cmap='gray', interpolation='nearest', vmin=0, vmax=1)
plt.show()
更重要的是,您需要vmax
,它将被映射为白色,为您提供的值imshow
,并且vmin
小于该值:
import numpy as np
import matplotlib.pyplot as plt
max_value = np.random.random()
min_value = -max_value # for instance
plt.imshow([[max_value]], cmap='gray', interpolation='nearest',
vmin=min_value, vmax=max_value)
plt.show()