Scene#

More example scripts are available in the VisPy repository’s example scripts directory.

Simple Line with Axis

Simple Line with Axis

Demonstration of borders and background colors

Demonstration of borders and background colors

Clipping planes with volume and markers

Clipping planes with volume and markers

Display a ColorBar

Display a ColorBar

Changing Line Colors

Changing Line Colors

Complex image data

Complex image data

Vispy Console

Vispy Console

Apply Contour Filter on an Image

Apply Contour Filter on an Image

Picking Faces from a Mesh

Picking Faces from a Mesh

Aspect Ratios

Aspect Ratios

Visualize NetworkX Graph

Visualize NetworkX Graph

Display an Image

Display an Image

Custom image sampling

Custom image sampling

Draw an InfiniteLine

Draw an InfiniteLine

Instanced rendering of arbitrarily transformed meshes

Instanced rendering of arbitrarily transformed meshes

Instanced Mesh Visual

Instanced Mesh Visual

Custom Visual for instanced rendering of a colored quad

Custom Visual for instanced rendering of a colored quad

Display an Isocurve

Display an Isocurve

Isocurve for Triangular Mesh

Isocurve for Triangular Mesh

Isocurve for Triangular Mesh with Qt Interface

Isocurve for Triangular Mesh with Qt Interface

Update Image and Isocurve Visuals

Update Image and Isocurve Visuals

Isosurface Visual

Isosurface Visual

Vispy Lasso

Vispy Lasso

Draw a Line

Draw a Line

Animated Line Visual

Animated Line Visual

Draw an LinearRegion

Draw an LinearRegion

Zoom in using MagnifyCamera

Zoom in using MagnifyCamera

Picking Markers

Picking Markers

Spheres and Sticks

Spheres and Sticks

Display Mesh Normals

Display Mesh Normals

Shading a Mesh

Shading a Mesh

Texture Filter on Meshes

Texture Filter on Meshes

Nested Viewboxes

Nested Viewboxes

Share Camera Views

Share Camera Views

Single Scene in Multiple View boxes

Single Scene in Multiple View boxes

Create a Point Cloud

Create a Point Cloud

Shape Visuals

Shape Visuals

Create and Save Animation

Create and Save Animation

Zoom Sensitivity

Zoom Sensitivity

Draw and Edit Shapes with Mouse

Draw and Edit Shapes with Mouse

Draw a Sphere

Draw a Sphere

Draw a SurfacePlot

Draw a SurfacePlot

Text in a Scene and ViewBox

Text in a Scene and ViewBox

Display a Cube

Display a Cube

ViewBox with Clipping Methods

ViewBox with Clipping Methods

Volume Rendering

Volume Rendering

Rendering Planes through 3D Data

Rendering Planes through 3D Data

Grid Layouts#

Examples of using the GridWidget to layout elements in a SceneCanvas.

Multiple ViewBoxes on a Grid

Multiple ViewBoxes on a Grid

Simple use of a grid layout

Simple use of a grid layout

More complex grid layout

More complex grid layout

Multiple Line Views on a Grid

Multiple Line Views on a Grid

Another Grid Layout

Another Grid Layout

Plot-like Grid Layout

Plot-like Grid Layout

Realtime Data Tutorial#

Examples that progressively build a Qt-based visualization application with updating data. The data in this tutorial is artificial, but is created and used in a way resembling real world data streams. In early examples data is created in the main GUI thread, but creation is later moved to an external thread to promote better responsiveness from the GUI.

Each example is a self-contained working application in some sense and can be used as a reference for the particular feature it is demonstrating. However, each example builds on the example before it so features and vispy application best practices are improved at the cost of more complex code.

Lastly, these examples use PySide2, but the application structure and demonstrated concepts should apply and be transferable to other backends (especially the Qt ones) with only a few exceptions. At the time of writing PySide2 is the newest version of PySide available through conda-forge conda channels. If/when PySide6 is available, pull requests to update these examples would be welcome. ;)

Embed VisPy into Qt

Embed VisPy into Qt

Control VisPy from Qt

Control VisPy from Qt

Update data using timer-based events

Update data using timer-based events

Update data using a loop in a background thread

Update data using a loop in a background thread

Update data using timer events in a background thread

Update data using timer events in a background thread

Gallery generated by Sphinx-Gallery