bqplot


Namebqplot JSON
Version 0.12.43 PyPI version JSON
download
home_pagehttps://github.com/bqplot/bqplot
SummaryInteractive plotting for the Jupyter notebook, using d3.js and ipywidgets.
upload_time2024-02-19 16:20:45
maintainer
docs_urlNone
authorThe BQplot Development Team
requires_python>=3.6
licenseApache
keywords ipython jupyter widgets graphics plotting d3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bqplot

[![Travis](https://travis-ci.com/bqplot/bqplot.svg?branch=master)](https://travis-ci.com/bqplot/bqplot)
[![Documentation](https://readthedocs.org/projects/bqplot/badge/?version=latest)](http://bqplot.readthedocs.org)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/bqplot/bqplot/stable?filepath=examples/Index.ipynb)
[![Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jupyter-widgets/Lobby)

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](./wealth-of-nations.gif)](https://github.com/bqplot/bqplot/blob/master/examples/Applications/Wealth%20Of%20Nations/Bubble%20Chart.ipynb)

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](docs/source/binder-logo.svg)](https://mybinder.org/v2/gh/bqplot/bqplot/stable?filepath=examples/Index.ipynb)

### 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:

```bash
    conda env update -f test-environment.yml
```

And run it with for Python tests:

```bash
    pytest
```

And `cd js` to run the JS tests with:

```bash
yarn run test
```

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

```bash
yarn run build
```

## Examples

### Using the `pyplot` API

[![Pyplot Screenshot](/pyplot.png)](https://github.com/bqplot/bqplot/blob/master/examples/Basic%20Plotting/Pyplot.ipynb)

### Using the `Object Model` API

[![Bqplot Screenshot](/bqplot.png)](https://github.com/bqplot/bqplot/blob/master/examples/Advanced%20Plotting/Advanced%20Plotting.ipynb)

## 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](CONTRIBUTING.md) 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](LICENSE) file
for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bqplot/bqplot",
    "name": "bqplot",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "ipython,jupyter,widgets,graphics,plotting,d3",
    "author": "The BQplot Development Team",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/3e/47/b8613e25549ccfb9cc5836086772e19db0246c10978d8eb13c7980820a74/bqplot-0.12.43.tar.gz",
    "platform": null,
    "description": "# bqplot\n\n[![Travis](https://travis-ci.com/bqplot/bqplot.svg?branch=master)](https://travis-ci.com/bqplot/bqplot)\n[![Documentation](https://readthedocs.org/projects/bqplot/badge/?version=latest)](http://bqplot.readthedocs.org)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/bqplot/bqplot/stable?filepath=examples/Index.ipynb)\n[![Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jupyter-widgets/Lobby)\n\n2-D plotting library for Project Jupyter\n\n## Introduction\n\n`bqplot` is a 2-D visualization system for Jupyter, based on the constructs of\nthe *Grammar of Graphics*.\n\n## Usage\n\n[![Wealth of Nations](./wealth-of-nations.gif)](https://github.com/bqplot/bqplot/blob/master/examples/Applications/Wealth%20Of%20Nations/Bubble%20Chart.ipynb)\n\nIn bqplot, every component of a plot is an interactive widget. This allows the\nuser to integrate visualizations with other Jupyter interactive widgets to\ncreate integrated GUIs with a few lines of Python code.\n\n## Goals\n\n-   Provide a unified framework for 2-D visualizations with a pythonic API\n-   Provide a sensible API for adding user interactions (panning, zooming, selection, etc)\n\nTwo APIs are provided\n\n- `Object Model`, which\n  is inspired by the constructs of the Grammar of Graphics (figure, marks, axes,\n  scales). This API is verbose but is fully customizable\n- `pyplot`, which is a context-based API similar to Matplotlib's pyplot. `pyplot` provides sensible default choices for most parameters\n\n## Trying it online\n\nTo try out bqplot interactively in your web browser, just click on the binder\nlink:\n\n[![Binder](docs/source/binder-logo.svg)](https://mybinder.org/v2/gh/bqplot/bqplot/stable?filepath=examples/Index.ipynb)\n\n### Dependencies\n\nThis package depends on the following packages:\n\n- `ipywidgets` (version >=7.0.0, <8.0)\n- `traitlets` (version >=4.3.0, <5.0)\n- `traittypes` (Version >=0.2.1, <0.3)\n- `numpy`\n- `pandas`\n\n### Installation\n\nUsing pip:\n\n```\n$ pip install bqplot\n```\n\nUsing conda\n\n```\n$ conda install -c conda-forge bqplot\n```\n\nIf you are using JupyterLab <=2:\n\n```\n$ jupyter labextension install @jupyter-widgets/jupyterlab-manager bqplot\n```\n\n##### Development installation\n\nFor a development installation (requires JupyterLab (version >= 3) and yarn):\n\n```\n$ git clone https://github.com/bqplot/bqplot.git\n$ cd bqplot\n$ pip install -e .\n$ jupyter nbextension install --py --overwrite --symlink --sys-prefix bqplot\n$ jupyter nbextension enable --py --sys-prefix bqplot\n```\n\nNote for developers: the `--symlink` argument on Linux or OS X allows one to\nmodify the JavaScript code in-place. This feature is not available\nwith Windows.\n\nFor the experimental JupyterLab extension, install the Python package, make sure the Jupyter widgets extension is installed, and install the bqplot extension:\n\n```\n$ pip install \"ipywidgets>=7.6\"\n$ jupyter labextension develop . --overwrite\n```\n\nWhenever you make a change of the JavaScript code, you will need to rebuild:\n\n```\ncd js\nyarn run build\n```\n\nThen refreshing the JupyterLab/Jupyter Notebook is enough to reload the changes.\n\n##### Running tests\n\nYou can install the dependencies necessary to run the tests with:\n\n```bash\n    conda env update -f test-environment.yml\n```\n\nAnd run it with for Python tests:\n\n```bash\n    pytest\n```\n\nAnd `cd js` to run the JS tests with:\n\n```bash\nyarn run test\n```\n\nEvery time you make a change on your tests it's necessary to rebuild the JS side:\n\n```bash\nyarn run build\n```\n\n## Examples\n\n### Using the `pyplot` API\n\n[![Pyplot Screenshot](/pyplot.png)](https://github.com/bqplot/bqplot/blob/master/examples/Basic%20Plotting/Pyplot.ipynb)\n\n### Using the `Object Model` API\n\n[![Bqplot Screenshot](/bqplot.png)](https://github.com/bqplot/bqplot/blob/master/examples/Advanced%20Plotting/Advanced%20Plotting.ipynb)\n\n## Documentation\n\nFull documentation is available at https://bqplot.readthedocs.io/\n\n## Install a previous bqplot version (Only for JupyterLab <= 2)\n\nIn order to install a previous bqplot version, you need to know which front-end version (JavaScript) matches with the back-end version (Python).\n\nFor example, in order to install bqplot `0.11.9`, you need the labextension version `0.4.9`.\n\n```\n$ pip install bqplot==0.11.9\n$ jupyter labextension install bqplot@0.4.9\n```\n\nVersions lookup table:\n\n| `back-end (Python)` | `front-end (JavaScript)` |\n|---------------------|--------------------------|\n| 0.12.14             | 0.5.14                   |\n| 0.12.13             | 0.5.13                   |\n| 0.12.12             | 0.5.12                   |\n| 0.12.11             | 0.5.11                   |\n| 0.12.10             | 0.5.10                   |\n| 0.12.9              | 0.5.9                    |\n| 0.12.8              | 0.5.8                    |\n| 0.12.7              | 0.5.7                    |\n| 0.12.6              | 0.5.6                    |\n| 0.12.4              | 0.5.4                    |\n| 0.12.3              | 0.5.3                    |\n| 0.12.2              | 0.5.2                    |\n| 0.12.1              | 0.5.1                    |\n| 0.12.0              | 0.5.0                    |\n| 0.11.9              | 0.4.9                    |\n| 0.11.8              | 0.4.8                    |\n| 0.11.7              | 0.4.7                    |\n| 0.11.6              | 0.4.6                    |\n| 0.11.5              | 0.4.5                    |\n| 0.11.4              | 0.4.5                    |\n| 0.11.3              | 0.4.4                    |\n| 0.11.2              | 0.4.3                    |\n| 0.11.1              | 0.4.1                    |\n| 0.11.0              | 0.4.0                    |\n\n## Development\n\nSee our [contributing guidelines](CONTRIBUTING.md) to know how to contribute and set up a development environment.\n\n## License\n\nThis software is licensed under the Apache 2.0 license. See the [LICENSE](LICENSE) file\nfor details.\n",
    "bugtrack_url": null,
    "license": "Apache",
    "summary": "Interactive plotting for the Jupyter notebook, using d3.js and ipywidgets.",
    "version": "0.12.43",
    "project_urls": {
        "Homepage": "https://github.com/bqplot/bqplot"
    },
    "split_keywords": [
        "ipython",
        "jupyter",
        "widgets",
        "graphics",
        "plotting",
        "d3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "adf5717a355a47e8ba28ff9fcbe63d3014b55a8d20f3983582205085e85e2869",
                "md5": "6a2f23399567b9013295160184b6aff4",
                "sha256": "65aa2f10bf2e4b500e628d5c1b876e6d2cdc2b82883200e4b1bb65edc17d111b"
            },
            "downloads": -1,
            "filename": "bqplot-0.12.43-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6a2f23399567b9013295160184b6aff4",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 1237017,
            "upload_time": "2024-02-19T16:20:43",
            "upload_time_iso_8601": "2024-02-19T16:20:43.016078Z",
            "url": "https://files.pythonhosted.org/packages/ad/f5/717a355a47e8ba28ff9fcbe63d3014b55a8d20f3983582205085e85e2869/bqplot-0.12.43-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e47b8613e25549ccfb9cc5836086772e19db0246c10978d8eb13c7980820a74",
                "md5": "484c5048b064b409d72b29a1fe1add54",
                "sha256": "f2b469d1f03df4f51873cb0406a24b56cdf4a835fc5aa9560776fc636b8b3449"
            },
            "downloads": -1,
            "filename": "bqplot-0.12.43.tar.gz",
            "has_sig": false,
            "md5_digest": "484c5048b064b409d72b29a1fe1add54",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 1205434,
            "upload_time": "2024-02-19T16:20:45",
            "upload_time_iso_8601": "2024-02-19T16:20:45.976948Z",
            "url": "https://files.pythonhosted.org/packages/3e/47/b8613e25549ccfb9cc5836086772e19db0246c10978d8eb13c7980820a74/bqplot-0.12.43.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-19 16:20:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bqplot",
    "github_project": "bqplot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "bqplot"
}
        
Elapsed time: 0.19557s