matplotlib / matplotlib/ipympl

No heatmap shown with `seaborn` and `%matplotlib widget`

Ouverte
#391 16 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
1.7k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Describe the issue

Thank you very much for providing this tool!

I have an apparently `seaborn`-related problem with showing widgets; I am posting this here first. Please let me know if you think this problem is rather on `seaborn`'s end and I'll repost it there.

---

The problem: `seaborn` figures are not shown in JupyterLab with `%matplotlib widget` (they do show up with `%matplotlib inline`):

```
%matplotlib widget
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.DataFrame([[10, 20, 30, 40], [50, 30, 8, 15],
[25, 14, 41, 8], [7, 14, 21, 28]])
sns.heatmap(df, cmap='RdYlGn', linewidths=0.30, annot=True)
```
![image](https://user-images.githubusercontent.com/7207093/141105912-278b891b-14fd-447a-8205-87e9851c0f64.png)

```
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.DataFrame([[10, 20, 30, 40], [50, 30, 8, 15],
[25, 14, 41, 8], [7, 14, 21, 28]])
sns.heatmap(df, cmap='RdYlGn', linewidths=0.30, annot=True)
```
![image](https://user-images.githubusercontent.com/7207093/141107251-32aaa188-d6e9-4505-b8bb-0e8f539e4294.png)

---

No problem with `matplotlib`:

```
%matplotlib widget
import matplotlib.pyplot as plt

plt.plot([[1, 2], [0, 0]])
```
![image](https://user-images.githubusercontent.com/7207093/141106050-b2e8d6ba-0c58-4ff8-9d33-890909d06e1d.png)

## Versions

```
ipympl version: 0.8.2
Selected Jupyter core packages...
IPython : 7.29.0
ipykernel : 6.4.2
ipywidgets : 7.6.5
jupyter_client : 7.0.6
jupyter_core : 4.9.1
jupyter_server : 1.11.2
jupyterlab : 3.2.2
nbclient : 0.5.5
nbconvert : 6.2.0
nbformat : 5.1.3
notebook : 6.4.5
qtconsole : not installed
traitlets : 5.1.1
Known nbextensions:
config dir: /home/dominique/.jupyter/nbconfig
notebook section
nbextensions_configurator/config_menu/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/config_menu/main
contrib_nbextensions_help_item/main enabled
- Validating: OK
spellchecker/main enabled
- Validating: OK
gist_it/main enabled
- Validating: OK
tree section
nbextensions_configurator/tree_tab/main enabled
- Validating: problems found:
- require? X nbextensions_configurator/tree_tab/main
config dir: /home/dominique/.local/miniconda/envs/test/etc/jupyter/nbconfig
notebook section
jupyter-matplotlib/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
JupyterLab v3.2.2
/home/dominique/.local/miniconda/envs/test/share/jupyter/labextensions
jupyter-matplotlib v0.10.2 enabled OK
@jupyter-widgets/jupyterlab-manager v3.0.1 enabled OK (python, jupyterlab_widgets)

```

Installed from conda-forge
```
mamba create -n test matplotlib pandas seaborn jupyterlab ipympl -y -c conda-forge
```

More versions:
```
# Name Version Build Channel
matplotlib 3.4.3 py39hf3d152e_1 conda-forge
matplotlib-base 3.4.3 py39h2fa2bec_1 conda-forge
matplotlib-inline 0.1.3 pyhd8ed1ab_0 conda-forge
pandas 1.3.4 py39hde0f152_1 conda-forge
seaborn 0.11.2 hd8ed1ab_0 conda-forge
seaborn-base 0.11.2 pyhd8ed1ab_0 conda-forge
```

Do you have an idea why this is happening?

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire la heatmap seaborn et le graphique matplotlib simple fournis dans JupyterLab avec `%matplotlib widget`, puis comparez-les avec `%matplotlib inline`. Inspectez l’intégration d’ipympl et des widgets Jupyter utilisée par cette configuration et vérifiez les versions de paquet indiquées. C’est terminé lorsque la heatmap seaborn est rendue de manière interactive avec le backend de widgets.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
jupyter-notebook, matplotlib, pandas, python
Domaine
data-visualization, frontend, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.