bqplot is a plotting system for the Jupyter notebook.
- provide a unified framework for 2d visualizations with a pythonic API.
- provide a sensible API for adding user interactions (panning, zooming, selection, etc)
Two APIs are provided
- Users can build custom visualizations using the internal object model, which is inspired by the constructs of the Grammar of Graphics (figure, marks, axes, scales), and enrich their visualization with our Interaction Layer.
- Or they can use the context-based API similar to Matplotlib's pyplot, which provides sensible default choices for most parameters.
This package depends on the following packages:
numpy
ipywidgets
(version >=5.0.0)
Using pip:
$ pip install bqplot
$ jupyter nbextension enable --py bqplot
Using conda
$ conda install -c conda-forge bqplot
For a development installation (requires npm):
$ git clone https://github.com/bloomberg/bqplot.git
$ cd bqplot
$ pip install -e .
$ jupyter nbextension install --py --symlink --user bqplot
$ jupyter nbextension enable --py --user 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.
# In a Jupyter notebook
import bqplot
That's it! You're ready to go!
from bqplot import pyplot as plt
import numpy as np
plt.figure(1)
np.random.seed(0)
n = 200
x = np.linspace(0.0, 10.0, n)
y = np.cumsum(np.random.randn(n))
plt.plot(x,y, axes_options={'y': {'grid_lines': 'dashed'}})
plt.show()
import numpy as np
from IPython.display import display
import bqplot as bq
size = 20
np.random.seed(0)
x_data = np.arange(size)
x_ord = bq.OrdinalScale()
y_sc = bq.LinearScale()
bar = bq.Bars(x=x_data, y=np.random.randn(2, size), scales={'x': x_ord, 'y': y_sc},
type='stacked')
line = bq.Lines(x=x_data, y=np.random.randn(size), scales={'x': x_ord, 'y': y_sc},
stroke_width=3, colors=['red'], display_legend=True, labels=['Line chart'])
ax_x = bq.Axis(scale=x_ord)
ax_y = bq.Axis(scale=y_sc, orientation='vertical', tick_format='0.2f', grid_lines='solid')
fig = bq.Figure(marks=[bar, line], axes=[ax_x, ax_y])
display(fig)
This software is licensed under the Apache 2.0 license. See the LICENSE file for details.