• Stars
    star
    1,694
  • Rank 26,480 (Top 0.6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL

ipyvolume

Join the chat at https://gitter.im/maartenbreddels/ipyvolume Documentation Version Anaconda-Server Badge Coverage Status Build Status

Try out in mybinder: Binder

3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL.

Ipyvolume currently can

  • Do (multi) volume rendering.
  • Create scatter plots (up to ~1 million glyphs).
  • Create quiver plots (like scatter, but with an arrow pointing in a particular direction).
  • Render isosurfaces.
  • Do lasso mouse selections.
  • Render in the Jupyter notebook, or create a standalone html page (or snippet to embed in your page).
  • Render in stereo, for virtual reality with Google Cardboard.
  • Animate in d3 style, for instance if the x coordinates or color of a scatter plots changes.
  • Animations / sequences, all scatter/quiver plot properties can be a list of arrays, which can represent time snapshots.
  • Stylable (although still basic)
  • Integrates with

Ipyvolume will probably, but not yet:

  • Render labels in latex.
  • Show a custom popup on hovering over a glyph.

Documentation

Documentation is generated at readthedocs: Documentation

Screencast demos

Animation

screencast

(see more at the documentation)

Volume rendering

screencast

Glyphs (quiver plots)

screencast quiver

Installation

If you want to use Jupyter Lab, please use version 3.0.

Using pip

Advice: Make sure you use conda or virtualenv. If you are not a root user and want to use the --user argument for pip, you expose the installation to all python environments, which is a bad practice, make sure you know what you are doing.

$ pip install ipyvolume

Conda/Anaconda

$ conda install -c conda-forge ipyvolume

Pre-notebook 5.3

If you are still using an old notebook version, ipyvolume and its dependend extension (widgetsnbextension) need to be enabled manually. If unsure, check which extensions are enabled:

$ jupyter nbextension list

If not enabled, enable them:

$ jupyter nbextension enable --py --sys-prefix ipyvolume
$ jupyter nbextension enable --py --sys-prefix widgetsnbextension

Pip as user: (but really, do not do this)

You have been warned, do this only if you know what you are doing, this might hunt you in the future, and now is a good time to consider learning virtualenv or conda.

$ pip install ipyvolume --user
$ jupyter nbextension enable --py --user ipyvolume
$ jupyter nbextension enable --py --user widgetsnbextension

Developer installation

$ git clone https://github.com/maartenbreddels/ipyvolume.git
$ cd ipyvolume
$ pip install -e . notebook jupyterlab
$ (cd js; npm run build)
$ jupyter nbextension install --py --overwrite --symlink --sys-prefix ipyvolume
$ jupyter nbextension enable --py --sys-prefix ipyvolume
# for jupyterlab (>=3.0), symlink share/jupyter/labextensions/bqplot-image-gl
$ jupyter labextension develop . --overwrite

Developer workflow

Jupyter notebook (classical)

Note: There is never a need to restart the notebook server, nbextensions are picked up after a page reload.

Start this command:

$ (cd js; npm run watch)

It will

  • Watch for changes in the sourcecode and run the typescript compiler for transpilation of the src dir to the lib dir.
  • Watch the lib dir, and webpack will build (among other things), ROOT/ipyvolume/static/index.js.

Refresh the page.

More Repositories

1

ipywebrtc

WebRTC for Jupyter notebook/lab
JavaScript
233
star
2

ipymaterialui

Jupyter Widgets based on React Material UI components
Jupyter Notebook
85
star
3

voila-demo

Demo for voila
Jupyter Notebook
67
star
4

per4m

Profiling and tracing information for Python using viztracer and perf, the GIL exposed.
Python
52
star
5

flask-ipywidgets

Use ipywidget in your Flask webserver
JavaScript
37
star
6

talk-ipyvolume-scipy2018

Talk at scipy 2018: Interactive 3d Visualization in Jupyter
Jupyter Notebook
15
star
7

talk-vaex-pandas-summit-2019

Slide and notebook used for my talk on vaex at the Pandas summit 2019 @ Lodnon
Jupyter Notebook
11
star
8

gde-examples

Gaia Discovery Engine examples
Jupyter Notebook
7
star
9

fastblog

Jupyter Notebook
7
star
10

releash

Release with relish to PyPi and conda-forge, version bumping, pure bliss!
Python
6
star
11

scipy-voila-demo

Demo of voila at scipy 2019
Jupyter Notebook
6
star
12

jupytercon-2017

Material for my talk at JupyterCon 2017
Jupyter Notebook
5
star
13

talk-pydata-meetup-paris-2017

Material and slides for my talk at the PyData Paris meetup 2017 (september)
Jupyter Notebook
5
star
14

dashicz

Dashing.io for Domoticz
JavaScript
4
star
15

joyofcoding2018

Talk material for Jupyter widgets: from slider to virtual reality - Joy of coding 2018
Jupyter Notebook
3
star
16

pydata-amsterdam-2017

"A Billion stars in the Jupyter notebook": slides and notebooks for the pydata amsterdam 2017 talk about vaex and ipyvolume
Jupyter Notebook
3
star
17

dash-vaex-gaia

Example dash app using vaex to visualize Gaia data
Python
2
star
18

jupyter-day-polytechnique-2018

Slides, notebooks and material for talk at Jupyter day at Polytechnique in 2018
Jupyter Notebook
2
star
19

dash-taxi-example

Example combining vaex with dash to create a dashboard showing the New York taxi dataset
Python
2
star
20

datascience-meetup-utrecht-2018

Talk - Vaex: Out of core dataframes for Python
Jupyter Notebook
2
star
21

lunchtalk-kapteyn-2018

Slides and material for lunchtalk at Kapteyn Institute 2018
Jupyter Notebook
2
star
22

vaex-bigskyearth2017

Jupyter Notebook
2
star
23

ewass-2017

Material for my talk and poster at EWASS 2017
Jupyter Notebook
1
star
24

mab

Private repo used during my Astronomy Phd, including Schwarzschild modelling code
Python
1
star
25

jupyterlab-supersave

More notebook save options for Jupyter Lab
TypeScript
1
star
26

talk-jupytercon-2018-widgets

Jupyter Notebook
1
star
27

nac-2017

NAC2017 talk: A Billion stars in the Jupyter notebook
HTML
1
star
28

statx

Statistics on Nd-grids/tensors based on xtensor
Python
1
star
29

talk-pyparis-2018

Slides+material for: Vaex: Out of core dataframes for Python @ PyParis 2018
Jupyter Notebook
1
star
30

maartenbreddels.github.io

HTML
1
star