ipympl
Leveraging the Jupyter interactive widgets framework, ipympl enables the interactive features of matplotlib in the Jupyter notebook and in JupyterLab.
Besides, the figure canvas element is a proper Jupyter interactive widget which can be positioned in interactive widget layouts.
Usage
To enable the ipympl backend, simply use the matplotlib Jupyter
magic:
%matplotlib ipympl
Documentation
See the documentation at: https://matplotlib.org/ipympl/
Example
See the example notebook for more!
Installation
With conda
conda install -c conda-forge ipympl
With pip
pip install ipympl
Use in JupyterLab
If you want to use ipympl in JupyterLab, we recommend using JupyterLab >= 3.
If you use JupyterLab 2, you still need to install the labextension manually:
conda install -c conda-forge nodejs
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib
Install an old JupyterLab extension
If you are using JupyterLab 1 or 2, you will need to install the right jupyter-matplotlib version, according to the ipympl and jupyterlab versions you installed.
For example, if you installed ipympl 0.5.1, you need to install jupyter-matplotlib 0.7.0, and this version is only compatible with JupyterLab 1.
conda install -c conda-forge ipympl==0.5.1
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib@0.7.0
Versions lookup table:
ipympl |
jupyter-matplotlib |
JupyterLab |
Matplotlib |
|---|---|---|---|
| 0.10.0 | 0.12.0 | >=2,<5 | >=3.5.0 |
| 0.9.5-8 | 0.11.5-8 | >=2,<5 | >=3.5.0 |
| 0.9.3-4 | 0.11.3-4 | >=2,<5 | 3.4.0>= |
| 0.9.0-2 | 0.11.0-2 | >=2,<5 | 3.4.0>= <3.7 |
| 0.8.8 | 0.10.x | >=2,<5 | 3.3.1>= <3.7 |
| 0.8.0-7 | 0.10.x | >=2,<5 | 3.3.1>=, <3.6 |
| 0.7.0 | 0.9.0 | >=2,<5 | 3.3.1>= |
| 0.6.x | 0.8.x | >=2,<5 | 3.3.1>=, <3.4 |
| 0.5.8 | 0.7.4 | >=1,<3 | 3.3.1>=, <3.4 |
| 0.5.7 | 0.7.3 | >=1,<3 | 3.2.* |
| ... | ... | ... | |
| 0.5.3 | 0.7.2 | >=1,<3 | |
| 0.5.2 | 0.7.1 | >=1,<2 | |
| 0.5.1 | 0.7.0 | >=1,<2 | |
| 0.5.0 | 0.6.0 | >=1,<2 | |
| 0.4.0 | 0.5.0 | >=1,<2 | |
| 0.3.3 | 0.4.2 | >=1,<2 | |
| 0.3.2 | 0.4.1 | >=1,<2 | |
| 0.3.1 | 0.4.0 | >=0<2 |
For a development installation
We recommend using pixi for development as it handles both Python and Node.js dependencies (matplotlib has compiled dependencies).
# Install dependencies and set up environment
pixi install
# Install the Python package in editable mode
pixi run pip install -e .
# Install JavaScript dependencies and build
pixi run jlpm install
pixi run jlpm build
# Set up JupyterLab extension in development mode
pixi run jupyter labextension develop --overwrite .
# Start development workflow (in separate terminals)
pixi run npm run watch # Terminal 1: Auto-rebuild on changes
pixi run jupyter lab # Terminal 2: Run JupyterLab
Alternative: Using conda/mamba
mamba env create --file dev-environment.yml
conda activate ipympl-dev
pip install -e .
jlpm install
jlpm build
jupyter labextension develop --overwrite .
# Start development workflow (in separate terminals)
npm run watch # Terminal 1: Auto-rebuild on changes
jupyter lab # Terminal 2: Run JupyterLab
How to see your changes
TypeScript/JavaScript: After a change, the watch command will automatically rebuild. Wait for the build to finish, then refresh your browser and the changes should take effect.
Python: If you make a change to the Python code, restart the notebook kernel to have it take effect.
Classic Jupyter Notebook
If you need to develop for classic Jupyter Notebook (not JupyterLab), also run:
# With pixi:
pixi run jupyter nbextension install --py --symlink --sys-prefix --overwrite ipympl
pixi run jupyter nbextension enable --py --sys-prefix ipympl
# Or with conda/mamba:
jupyter nbextension install --py --symlink --sys-prefix --overwrite ipympl
jupyter nbextension enable --py --sys-prefix ipympl
Release files for ipympl 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ipympl-0.10.0.tar.gz | 3.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ipympl-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.1 MB
Release files / ipympl-0.10.0.tar.gz
| Download URL | ipympl-0.10.0.tar.gz |
|---|---|
| Size | 3.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eda69602a010af2a42e8ebd069b0ee0dbe8df7fc69d7c1e8b99fece0a2fe613f
|
|
BLAKE2b-256 checksum How to use checksums |
169cf79e29f6262e821a15757662aa11cbb1db0a51ef836a32a46ddcb25e6832
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / ipympl-0.10.0-py3-none-any.whl
| Download URL | ipympl-0.10.0-py3-none-any.whl |
|---|---|
| Size | 519.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a09c4f0ff86490cc62aed45e53b912fb706e3ec3506c4a51ce4a670d6667f5ce
|
|
BLAKE2b-256 checksum How to use checksums |
12b388c0ef22878c86035f058df0ac6c171319ffd0aa52a406455ed3a3847566
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|