Asked By – Ruofeng
I’m trying to visualize a numpy array using imshow() since it’s similar to imagesc() in Matlab.
imshow(random.rand(8, 90), interpolation='nearest')
The resulting figure is very small at the center of the grey window, while most of the space is unoccupied. How can I set the parameters to make the figure larger? I tried figsize=(xx,xx) and it’s not what I want. Thanks!
Now we will see solution for issue: figure of imshow() is too small
If you don’t give an
aspect argument to
imshow, it will use the value for
image.aspect in your
matplotlibrc. The default for this value in a new
imshow will plot your array with equal aspect ratio.
If you don’t need an equal aspect you can set
imshow(random.rand(8, 90), interpolation='nearest', aspect='auto')
which gives the following figure
If you want an equal aspect ratio you have to adapt your
figsize according to the aspect
fig, ax = subplots(figsize=(18, 2)) ax.imshow(random.rand(8, 90), interpolation='nearest') tight_layout()
which gives you: