Skip to main content

Interactive plotting for the Jupyter notebook, using d3.js and ipywidgets.

Project description

bqplot

Travis Documentation Binder Chat

2-D plotting library for Project Jupyter

Introduction

bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar of Graphics.

Usage

Wealth of Nations

In bqplot, every component of a plot is an interactive widget. This allows the user to integrate visualizations with other Jupyter interactive widgets to create integrated GUIs with a few lines of Python code.

Goals

  • Provide a unified framework for 2-D visualizations with a pythonic API
  • Provide a sensible API for adding user interactions (panning, zooming, selection, etc)

Two APIs are provided

  • Object Model, which is inspired by the constructs of the Grammar of Graphics (figure, marks, axes, scales). This API is verbose but is fully customizable
  • pyplot, which is a context-based API similar to Matplotlib's pyplot. pyplot provides sensible default choices for most parameters

Trying it online

To try out bqplot interactively in your web browser, just click on the binder link:

Binder

Dependencies

This package depends on the following packages:

  • ipywidgets (version >=7.0.0, <8.0)
  • traitlets (version >=4.3.0, <5.0)
  • traittypes (Version >=0.2.1, <0.3)
  • numpy
  • pandas

Installation

Using pip:

$ pip install bqplot

Using conda

$ conda install -c conda-forge bqplot

If you are using JupyterLab <=2:

$ jupyter labextension install @jupyter-widgets/jupyterlab-manager bqplot
Development installation

For a development installation (requires JupyterLab (version >= 3) and yarn):

$ git clone https://github.com/bqplot/bqplot.git
$ cd bqplot
$ pip install -e .
$ jupyter nbextension install --py --overwrite --symlink --sys-prefix bqplot
$ jupyter nbextension enable --py --sys-prefix bqplot

Note for developers: the --symlink argument on Linux or OS X allows one to modify the JavaScript code in-place. This feature is not available with Windows.

For the experimental JupyterLab extension, install the Python package, make sure the Jupyter widgets extension is installed, and install the bqplot extension:

$ pip install "ipywidgets>=7.6"
$ jupyter labextension develop . --overwrite

Whenever you make a change of the JavaScript code, you will need to rebuild:

cd js
yarn run build

Then refreshing the JupyterLab/Jupyter Notebook is enough to reload the changes.

Running tests

You can install the dependencies necessary to run the tests with:

    conda env update -f test-environment.yml

And run it with for Python tests:

    pytest

And cd js to run the JS tests with:

yarn run test

Every time you make a change on your tests it's necessary to rebuild the JS side:

yarn run build

Examples

Using the pyplot API

Pyplot Screenshot

Using the Object Model API

Bqplot Screenshot

Documentation

Full documentation is available at https://bqplot.readthedocs.io/

Install a previous bqplot version (Only for JupyterLab <= 2)

In order to install a previous bqplot version, you need to know which front-end version (JavaScript) matches with the back-end version (Python).

For example, in order to install bqplot 0.11.9, you need the labextension version 0.4.9.

$ pip install bqplot==0.11.9
$ jupyter labextension install bqplot@0.4.9

Versions lookup table:

back-end (Python) front-end (JavaScript)
0.12.14 0.5.14
0.12.13 0.5.13
0.12.12 0.5.12
0.12.11 0.5.11
0.12.10 0.5.10
0.12.9 0.5.9
0.12.8 0.5.8
0.12.7 0.5.7
0.12.6 0.5.6
0.12.4 0.5.4
0.12.3 0.5.3
0.12.2 0.5.2
0.12.1 0.5.1
0.12.0 0.5.0
0.11.9 0.4.9
0.11.8 0.4.8
0.11.7 0.4.7
0.11.6 0.4.6
0.11.5 0.4.5
0.11.4 0.4.5
0.11.3 0.4.4
0.11.2 0.4.3
0.11.1 0.4.1
0.11.0 0.4.0

Development

See our contributing guidelines to know how to contribute and set up a development environment.

License

This software is licensed under the Apache 2.0 license. See the LICENSE file for details.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bqplot-0.12.38.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

bqplot-0.12.38-py2.py3-none-any.whl (1.2 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file bqplot-0.12.38.tar.gz.

File metadata

  • Download URL: bqplot-0.12.38.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for bqplot-0.12.38.tar.gz
Algorithm Hash digest
SHA256 1ab019871e2ee71a4c7c0623857268a0f9d6232f36866a3a069fab6882145abb
MD5 ed9eaf57536ac9ad285ecdb8cab41e02
BLAKE2b-256 ee39eb64727d212836dc5426fe04e0e80ae797e3e013113cb68f06acea1ff303

See more details on using hashes here.

Provenance

File details

Details for the file bqplot-0.12.38-py2.py3-none-any.whl.

File metadata

  • Download URL: bqplot-0.12.38-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for bqplot-0.12.38-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 74f13f874c43f414a1795e0f585ff55ef410e8140fd9428af7406b507dfe6ada
MD5 bd0aa401b0e73d17be6b202e0eb1f448
BLAKE2b-256 5fb41d638b24206435d5e6f19612775cd762d9cce36936ba9653b9d7639a4e65

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page