Me estoy moviendo de MatLab a python y estoy jugando con la función imshow.
Parece que no puedo entender por qué no muestra el valor 128 como gris con el que elegí el cmap como escala de grises.
Parece que usa la escala de grises para los valores más altos (128) y más bajos. Quiero que use la escala de grises para [0: 255]. ¿Cómo puedo hacer eso?
Use los parámetros vmin
y vmax
:
plt.imshow(bg, cmap=plt.get_cmap('gray'), vmin=0, vmax=255)
Sin especificar vmin
y vmax
, plt.imshow
ajusta automáticamente su rango al mínimo y máximo de los datos.
No conozco una forma de configurar los vmin
predeterminados de vmin
y vmax
para todos los gráficos de imshow, pero podría usar functools.partial
para preparar un comando personalizado imshow-like con los parámetros predeterminados establecidos:
import matplotlib.pyplot as plt import numpy as np import functools bwimshow = functools.partial(plt.imshow, vmin=0, vmax=255, cmap=plt.get_cmap('gray')) dots = np.random.randn(10, 10)*255 bwimshow(dots) cbar = plt.colorbar() plt.show()