Skip to main content

Interactive plotting with familiar syntax in jupyter notebooks.

Project description

bokehlab

Bolehlab is an interactive plotting library with the familiar matplotlib/matlab syntax.
Built upon an excellent lib bokeh. Works in both classic jupyter-notebook and JupyterLab.

Installation:

pip install bokehlab

Basic plotting:

To load this extension in jupyter notebook (both classic jupyter and jupyter lab):

%load_ext bokehlab

Or even shorter (copy bokelab_magic.py to ~.ipython\profile_default\startup):

%bokehlab

Basic plotting:

plot([1,4,9])             # dots 
plot([1,4,9], '.-')       # line and dots 
plot([1,2,3], [1,4,9])    # x and y 
plot([1,2,3], [1,4,9], '.-')    # x, y and line style

Several plots in one figure:

Interactive controls:

click and drag = pan
mouse wheel = zoom, 
wheel on x axis = scroll horizontally
wheel on y axis = scroll vertically

Multiple plots syntax (equivalent ways to draw it):

x = [1,5,10]
y1 = [1,4,9]
y2 = [1,8,27]

- plot(x, y1, '.-')        # solid line with dots
  plot(x, y2, '.-g')       # the second plot is green

- plot([y1, y2])           # auto x, auto colors       

- plot(x, [y1, y2])

- plot([y1, y2], '.-bg')   # blue and green

- plot([y1, y2], style=['.', '.-'], color=['b', 'g'])

- plot(x, y1, '.-', x, y2, '.-g')

The following markers are supported so far:

'.' dots
'-' line
'.-' dots+line

The following colors are supported so far:

'b' blue
'g' green
'r' red
'O' orange  (capital O to avoid clashes with 'o' for open dots)

NB The color specifier must go after the marker if both are present.

Legend:

- plot([1,2,3], [1,4,9], label='plot1')
  plot([1,2,3], [2,5,10], label='plot2')

- plot([y1, y2], label=['y1', 'y2'])

Legend location:

- plot([1,2,3], [1,4,9], label='plot1', legend_loc='top_left')
  plot([1,2,3], [2,5,10], label='plot2')

Other legend locations: https://docs.bokeh.org/en/latest/docs/user_guide/styling.html#location

Axes labels:

- plot([1,2,3], xlabel='time', ylabel='value')
- xlabel('time'); ylabel('value')
- xylabels('time', 'value')

Other uses:

  • semilogx(), semilogy() and loglog() show (semi)logarithmic plots with the same syntax as plot().

  • hist(x) displays a histogram of x

  • plot(x, y, hover=True) displays point coordinates on mouse hover.

  • plot(x, y, vline=1, hline=1.5, vline_color='red') in addition to the (x, y) plot displays an infinite vertical line with x=1 and custom red color and an infinite horizontal line with y=1.5 and the default pink color.

Visualizing Pandas Dataframes

  • plot(df) plots all columns of the dataframe as separate lines on the same figure with column names displayed in the legend and with index taken as the x axis values. If the legend grows too long, it can be hidden with legend_loc='hide' (new in v0.1.13):
  • show_df(df) displays pandas dataframe as a table (new in v0.1.14):

Displaying Images

  • imshow(a) displays an array as an image:

Complete list of colormaps: https://matplotlib.org/3.5.0/tutorials/colors/colormaps.html

  • imshow(im1, im2, ...) shows several images side by side with linked panning and zooming (link=False to disable):
  • imshow([[im1, im2, ...], [im3, im4, ... ], ...]) displays a matrix of images with panning and zooming linked row-wise:

See also a contour plot example in the bokeh gallery page.

Comparison to bokeh

bokehlab is a thin wrapper over the excellent bokeh library that cuts down the amount of boilerplate code.

The following two cells are equivalent:

Project details


Download files

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

Source Distribution

bokehlab-0.2.2.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

bokehlab-0.2.2-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file bokehlab-0.2.2.tar.gz.

File metadata

  • Download URL: bokehlab-0.2.2.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/59.6.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.7.7

File hashes

Hashes for bokehlab-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6d2a4efcae04e4ddf066aa842655fed105cd6a3ba8440a7ac0f9ac0f3282f5a7
MD5 97bc72fc1ed8f251ca51eb70710c172e
BLAKE2b-256 b5d8bc6bd6bcf9d09f34fb431ee01b55d040e6f56103ce6d91de76bc2bf707a7

See more details on using hashes here.

Provenance

File details

Details for the file bokehlab-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: bokehlab-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/59.6.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.7.7

File hashes

Hashes for bokehlab-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 39692d299092b8c89b3286acc2ae5f236c00c5c3224632a3c933348ebbd220f2
MD5 df627e412f42693a325375338c0a2cd3
BLAKE2b-256 2f6afc10f24a54e1fc8d05ce2d5d89965a76596cc9cbc95f909e879d90b25232

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