matplotlib / matplotlib/ipympl
Notebook rendered with Voila does not show Axes in a matplotlib widget
- Dominant language
- Jupyter Notebook
- Stars
- 1.7k
- Forks
- 234
- PR merge metrics
- No merged PRs in 30d
Description
## Describe the issue
When rendering a notebook using Voila, the interactive matplotlib widget using ipympl backend is also rendered. However this widget is completely missing the Axes, therefore not showing any data at all.
A minimum reproducible code would be
```python
%matplotlib widget
plt.ioff()
figRHF = plt.figure(figsize=(10, 5))
figRHF.canvas.layout.min_height = '400px'
axRHF = figRHF.gca()
test = axRHF.plot([0, 1], [0, 1])
print(axRHF)
print(figRHF)
print(figRHF.gca())
print(test)
display(
figRHF.canvas
)
```
And this is the output from this code, on the left is the Jupyter Lab notebook output, on the right is the Voila output

## Versions
```
'3.8.12 | packaged by conda-forge | (default, Oct 12 2021, 21:22:46) [MSC v.1916 64 bit (AMD64)]'
ipympl version: 0.8.2
Selected Jupyter core packages...
IPython : 7.29.0
ipykernel : 6.5.0
ipywidgets : 7.6.5
jupyter_client : 6.1.12
jupyter_core : 4.9.1
jupyter_server : 1.11.2
jupyterlab : 3.2.4
nbclient : 0.5.9
nbconvert : 6.3.0
nbformat : 5.1.3
notebook : 6.4.6
qtconsole : not installed
traitlets : 5.1.1
Known nbextensions:
config dir: C:\Users\are014\Miniconda3\envs\humaninjurymodel\etc\jupyter\nbconfig
notebook section
ipydatetime/extension enabled
jupyter-matplotlib/extension enabled
voila/extension enabled
jupyter-js-widgets/extension enabled
- Validating: ok
- Validating: ok
- Validating: ok
- Validating: ok
JupyterLab v3.2.4
C:\Users\are014\Miniconda3\envs\humaninjurymodel\share\jupyter\labextensions
jupyter-matplotlib v0.10.2 enabled ok
@jupyter-widgets/jupyterlab-manager v3.0.1 enabled ok (python, jupyterlab_widgets)
@voila-dashboards/jupyterlab-preview v2.1.0 enabled ok (python, voila)
Other labextensions (built into JupyterLab)
app dir: C:\Users\are014\Miniconda3\envs\humaninjurymodel\share\jupyter\lab
jupyter-widget-datetime v1.2.0 enabled ok
```
Contributor guide
Research direction
Start by running the minimal reproducible example with the listed ipympl, JupyterLab, ipywidgets, and Voila versions, then compare the widget output in JupyterLab and Voila. Done means the Voila-rendered matplotlib widget displays its Axes and plotted data as it does in JupyterLab.
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
- 42/100