matplotlib / matplotlib/ipympl
Excessive white space / margins with some plots.
- Dominant language
- Jupyter Notebook
- Stars
- 1.7k
- Forks
- 234
- PR merge metrics
- No merged PRs in 30d
Description
With the current ipympl 0.9.6 (and probably earlier versions) I am observing excessive white space around axes in some cases when using the `%matplotlib ipympl` mode but not in the `%matplotlib inline` mode.
A small example to reproduce:
````python
%matplotlib ipympl
from matplotlib import pyplot as plt
fig, ax = plt.subplots(figsize=(5, 3), constrained_layout=True)
ax.imshow([[1,2,3],[4,5,6],[7,8,9]])
ax.set_aspect(0.1)
````
This yields:

And the same example in inline mode:
````python
%matplotlib inline
from matplotlib import pyplot as plt
fig, ax = plt.subplots(figsize=(5, 3), constrained_layout=True)
ax.imshow([[1,2,3],[4,5,6],[7,8,9]])
ax.set_aspect(0.1)
````

Especially larger figures then became unmanageable in the `ipympl` backend. Setting `constrained_layout` or using `plt.tight_layout()` does not seem to influence the margins. Can this behavior be influenced?
Contributor guide
Research direction
Start by running the two provided examples with `%matplotlib ipympl` and `%matplotlib inline`, including the constrained layout and aspect settings. Compare the resulting margins and trace the ipympl figure rendering and layout behavior. Done means the ipympl example no longer produces excessive whitespace around the axes, including for larger figures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- data-visualization, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100