matplotlib / matplotlib/ipympl

Excessive white space / margins with some plots.

Open
#586 1 comment 0 reactions 0 assignees View on GitHub
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:

![Image](https://github.com/user-attachments/assets/78d560f8-986a-4eb7-ba08-883dc095061f)

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)
````

![Image](https://github.com/user-attachments/assets/79cb76f7-984d-43c8-88e8-59e809935ec5)

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.