I\'m moving from MatLab to python and playing around with the imshow function.
I can\'t seem to get my head around why it doesn\'t show the value 128 as grey with I
Use the vmin
and vmax
parameters:
plt.imshow(bg, cmap=plt.get_cmap('gray'), vmin=0, vmax=255)
Without specifying vmin
and vmax
, plt.imshow
auto-adjusts its range to the min and max of the data.
I do not know of a way to set default vmin
and vmax
parameters for all imshow plots, but you could use functools.partial
to prepare a custom imshow-like command with default parameters set:
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()