figure of imshow() is too small
matplotlib, numpy, python
Solution
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 `matplotlibrc` is `equal`. So `imshow` will plot your array with equal aspect ratio.
If you don't need an equal aspect you can set `aspect` to `auto`
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:
Problem
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!