matplotlib/ipympl

Jupyter Notebookmatplotlib.org/ipympl/

Matplotlib Jupyter Integration

jupyterlab-extensionmatplotlibinteractivejupyter-widgetsipywidgets
스타 성장
스타
1.7k
포크
234
주간 성장
+1
이슈
156
5001k1.5k
2023년 1월2024년 3월2025년 6월2026년 9월
README

ipympl

Test Status Latest PyPI version Latest conda-forge version Latest npm version Binder notebook-link Gitter

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/

Try it now

You can easily try ipympl without installing anything, by simply accessing the example Notebook from Notebook.link or MyBinder:

Example

See the example notebook for more!

matplotlib screencast

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
관련 저장소
jupytext/jupytext

Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

PythonPyPIlibraryMIT Licensejupyter-notebookjupyterlab-extension
jupytext.org
7.2k425
voila-dashboards/voila

Voilà turns Jupyter notebooks into standalone web applications

PythonPyPIOtherjupyterjupyter-notebook
voila.readthedocs.io
5.9k527
jupyterlite/jupyterlite

Wasm powered Jupyter running in the browser 💡

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensejupyterjupyterlab
jupyterlite.rtfd.io/en/stable/try/lab
4.9k449
markusschanta/awesome-jupyter

A curated list of awesome Jupyter projects, libraries and resources

awesomeCreative Commons Attribution Share Alike 4.0 Internationaljupyter-notebookjupyter
4.7k461
jupyterlab/jupyter-ai

An open source extension that connects AI agents to computational notebooks in JupyterLab.

PythonPyPIBSD 3-Clause "New" or "Revised" Licensejupyterjupyterlab
jupyter-ai.readthedocs.io
4.4k529
jupyter-widgets/ipywidgets

Interactive Widgets for the Jupyter Notebook

TypeScriptnpmlibraryBSD 3-Clause "New" or "Revised" Licensejupyterlab-extensionjupyter-notebooks
ipywidgets.readthedocs.io
3.3k973
jupyter/nbdime

Tools for diffing and merging of Jupyter notebooks.

TypeScriptnpmOtherjupyterlab-extensionjupyter
nbdime.readthedocs.io
2.8k195
mito-ds/mito

Jupyter extensions that help you write code faster: Context aware AI Chat, Autocomplete, and Spreadsheet

Jupyter NotebookOtherdata-sciencepython
trymito.io
2.6k206
mauhai/awesome-jupyterlab

A curated list of awesome JupyterLab extensions and resources

awesomejupyterlab-extensionjupyterlab
2.6k153
Esri/arcgis-python-api

Documentation and samples for ArcGIS API for Python

PythonPyPIApache License 2.0arcgisgis
developers.arcgis.com/python/
2.2k1.1k
jupyter-lsp/jupyterlab-lsp

Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensejupyterlabjupyterlab-extension
jupyterlab-lsp.readthedocs.io
2k158
elyra-ai/elyra

Elyra extends JupyterLab with an AI centric approach.

PythonPyPIApache License 2.0notebooksnotebook-jupyter
elyra.readthedocs.io/en/stable/
2k370