Scene#

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

Simple Line with Axis

Simple Line with Axis

Simple Line with Axis
Demonstration of borders and background colors

Demonstration of borders and background colors

Demonstration of borders and background colors
Clipping planes with volume and markers

Clipping planes with volume and markers

Clipping planes with volume and markers
Display a ColorBar

Display a ColorBar

Display a ColorBar
Changing Line Colors

Changing Line Colors

Changing Line Colors
Complex image data

Complex image data

Complex image data
Vispy Console

Vispy Console

Vispy Console
Apply Contour Filter on an Image

Apply Contour Filter on an Image

Apply Contour Filter on an Image
Aspect Ratios

Aspect Ratios

Aspect Ratios
Visualize NetworkX Graph

Visualize NetworkX Graph

Visualize NetworkX Graph
Display an Image

Display an Image

Display an Image
Custom image sampling

Custom image sampling

Custom image sampling
Draw an InfiniteLine

Draw an InfiniteLine

Draw an InfiniteLine
Display an Isocurve

Display an Isocurve

Display an Isocurve
Isocurve for Triangular Mesh

Isocurve for Triangular Mesh

Isocurve for Triangular Mesh
Isocurve for Triangular Mesh with Qt Interface

Isocurve for Triangular Mesh with Qt Interface

Isocurve for Triangular Mesh with Qt Interface
Update Image and Isocurve Visuals

Update Image and Isocurve Visuals

Update Image and Isocurve Visuals
Isosurface Visual

Isosurface Visual

Isosurface Visual
Draw a Line

Draw a Line

Draw a Line
Animated Line Visual

Animated Line Visual

Animated Line Visual
Draw an LinearRegion

Draw an LinearRegion

Draw an LinearRegion
Zoom in using MagnifyCamera

Zoom in using MagnifyCamera

Zoom in using MagnifyCamera
Spheres and Sticks

Spheres and Sticks

Spheres and Sticks
Display Mesh Normals

Display Mesh Normals

Display Mesh Normals
Shading a Mesh

Shading a Mesh

Shading a Mesh
Texture Filter on Meshes

Texture Filter on Meshes

Texture Filter on Meshes
Nested Viewboxes

Nested Viewboxes

Nested Viewboxes
Share Camera Views

Share Camera Views

Share Camera Views
Single Scene in Multiple View boxes

Single Scene in Multiple View boxes

Single Scene in Multiple View boxes
Create a Point Cloud

Create a Point Cloud

Create a Point Cloud
Shape Visuals

Shape Visuals

Shape Visuals
Create and Save Animation

Create and Save Animation

Create and Save Animation
Zoom Sensitivity

Zoom Sensitivity

Zoom Sensitivity
Draw and Edit Shapes with Mouse

Draw and Edit Shapes with Mouse

Draw and Edit Shapes with Mouse
Draw a Sphere

Draw a Sphere

Draw a Sphere
Draw a SurfacePlot

Draw a SurfacePlot

Draw a SurfacePlot
Text in a Scene and ViewBox

Text in a Scene and ViewBox

Text in a Scene and ViewBox
Display a Cube

Display a Cube

Display a Cube
ViewBox with Clipping Methods

ViewBox with Clipping Methods

ViewBox with Clipping Methods
Volume Rendering

Volume Rendering

Volume Rendering
Rendering Planes through 3D Data

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

Multiple ViewBoxes on a Grid
Simple use of a grid layout

Simple use of a grid layout

Simple use of a grid layout
More complex grid layout

More complex grid layout

More complex grid layout
Multiple Line Views on a Grid

Multiple Line Views on a Grid

Multiple Line Views on a Grid
Another Grid Layout

Another Grid Layout

Another Grid Layout
Plot-like 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

Embed VisPy into Qt
Control VisPy from Qt

Control VisPy from Qt

Control VisPy from Qt
Update data using timer-based events

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 a loop in a background thread
Update data using timer events 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