--- id: bqplot version: "0.13.1" license: Apache-2.0 license_treatment: permissive maintenance: active --- # bqplot — Interactive plotting for the Jupyter notebook, using d3.js and ipywidgets. License: permissive · Maintenance: active · Downloads: 415.7K/mo ## What it is and what it does bqplot is a 2-D visualization system built on the Grammar of Graphics principle, designed to work natively inside Jupyter notebooks. Every element of a plot—axes, scales, marks, interactions—is an interactive widget, so you can bind them to other ipywidgets controls to create responsive, integrated GUIs without leaving the notebook. The library depends on ipywidgets, traitlets, traittypes, numpy, pandas, and bqscales to handle the widget infrastructure, trait-based configuration, and data handling. It renders plots using d3.js on the front end, giving you both the expressiveness of a grammar-of-graphics system and the interactivity of Jupyter's widget ecosystem. You can use either a pyplot-style API or an object-model API depending on your workflow. Use it for: - Build interactive dashboards in Jupyter by linking plots to sliders, dropdowns, and other ipywidgets controls - Explore pandas DataFrames interactively with linked plots and real-time filtering without writing a web app - Create educational notebooks where students can manipulate plot parameters and see results update instantly - Prototype data visualizations quickly in a notebook before moving to a production web framework - Combine multiple plots with shared scales and linked selection for exploratory data analysis ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. bqplot is a 2-D interactive plotting library for Jupyter notebooks that treats every plot component as an interactive widget, enabling integration with other Jupyter widgets to build interactive visualizations. Yes. bqplot is actively maintained, has low install friction, carries no known vulnerabilities, and solves a specific problem—interactive 2-D plotting in Jupyter—with a mature, well-established dependency stack. Install it if you need to build interactive visualizations or dashboards inside Jupyter notebooks. ## Install pip install bqplot uv add bqplot poetry add bqplot ## Installing bqplot Before you install: Low install friction with a pure-Python wheel and six well-established runtime dependencies. Actively maintained with a recent release; the repository shows 3694 stars and the last commit was 2026-05-07. License in practice: Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: pip install bqplot from bqplot import pyplot as plt import numpy as np plt.plot(np.arange(10), np.random.randn(10)) plt.show() Requires Jupyter notebook or JupyterLab environment; JupyterLab <= 2 requires a separate labextension install via jupyter labextension install @jupyter-widgets/jupyterlab-manager bqplot Verify before relying: - Whether JupyterLab 3+ requires a labextension install or if the widget loads automatically - Performance characteristics when plotting large datasets with pandas - Exact compatibility matrix for different JupyterLab and Jupyter Notebook versions ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 415.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags jupyter interactive plotting, 2d visualization jupyter notebook, interactive widgets plotting, grammar of graphics jupyter, d3.js jupyter plotting, jupyter notebook charts, ipywidgets visualization, jupyter-native, interactive-widgets, data-visualization [View on SkillFed](https://skillfed.io/packages/bqplot) · [View on PyPI](https://pypi.org/project/bqplot/)