Skip to content
Visvis - the object oriented approach to visualization
Branch: master
Clone or download
Latest commit d762dcd Mar 28, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
backends add support for PySide2 Mar 27, 2019
core flake Mar 28, 2019
examples remove style error again and disable doc test May 31, 2017
processing prevent zero divisions Mar 27, 2019
tests mo tests! May 31, 2017
text fix encoding error on legacy python May 31, 2017
utils flake Mar 28, 2019
visvisResources Add astronaut.png to resources May 25, 2017
vvio put newline at end of each file, which I removed earlier May 31, 2017
vvmovie flake Mar 28, 2019
wibjects put newline at end of each file, which I removed earlier May 31, 2017
wobjects flake Mar 28, 2019
.gitignore allow wiki subdir for dev Jun 1, 2017
.travis.yml support py37? Apr 23, 2018 fixes to manifest Sep 20, 2016 tweak readme (fix typo in conda package name) mention vispy Jan 19, 2018 bump version Mar 27, 2019 put newline at end of each file, which I removed earlier May 31, 2017
license.txt update some license texts May 31, 2017 put newline at end of each file, which I removed earlier May 31, 2017
setup.cfg flake Mar 28, 2019 support py37? Apr 23, 2018

Visvis - the object oriented approach to visualization

Build Status

Visvis is a pure Python library for visualization of 1D to 4D data in an object oriented way. Essentially, visvis is an object oriented layer of Python on top of OpenGl, thereby combining the power of OpenGl with the usability of Python. A Matlab/Matplotlib-like interface in the form of a set of functions allows easy creation of objects (e.g. plot(), imshow(), volshow(), surf()).


Visvis is cross-platform and runs on Python 2.x and Python 3.x. It depends on numpy, pyopengl, and needs a GUI backend (either PyQt4, PyQt5, PySide, Wx, GTK, FLTK).

Installation is best done via conda (conda install visvis) or pip (pip install visvis).

How visvis works

With visvis a range of different data can be visualized by simply adding world objects to a scene (i.e. an axes). These world objects can be anything from plots (lines with markers), to images, 3D rendered volumes, shaded meshes, or you can program your own world object class. If required, these data can also be moved in time.


Click on the figure to see the code and how one can interact with the figure.


The docs are on the wiki. Online documentation is available for all classes and functions. Any questions can be asked in the visvis discussion group.

At EuroScipy 2012, I gave a talk about Visvis. The long version of the presentation can be seen here.


Visvis has been relatively stable for several years. I am still maintaining it, but do not plan on making any major changes. Visvis will not make use of modern OpenGL, and will not work in the browser. It's API might be a bit idosyncratic (e.g. methods are UpperCamelCase) because I started working on Visvis before I knew about PEP8.

See Vispy for a similar (but more modern) visualization library.


Visvis makes use of the liberal BSD license. See license.txt for details.

You can’t perform that action at this time.