PyVista
3D scientific visualization: meshes, point clouds colored by a value, and animations.
Introduction
Matplotlib and Plotly make charts for you. PyVista does something else: three-dimensional objects that rotate, with light, with surfaces and with volume.
It’s what you need when your data isn’t a series of numbers but a shape — a mechanical part, a terrain, an MRI scan, the markers from a motion capture.
PyVista is a Python layer over VTK, the scientific visualization engine behind programs like ParaView. VTK is written in C++ and is twenty-five years old; PyVista is what makes it bearable.
It draws on your machine, which is what lets you move millions of triangles — and it’s also what makes it need a graphics card that actually works. For molecules, and especially for teaching them to someone else, py3Dmol draws in the browser and doesn’t depend on anything.

Working environment
uv init viz
Initialized project `viz` at `C:\Users\eva\viz`
cd viz
uv add pyvista imageio
Using CPython 3.14.3
Resolved 32 packages in 337ms
Installed 31 packages in 95ms
+ imageio==2.37.4
+ pyvista==0.48.4You only need imageio to save animations; to just look at things on screen, pyvista is enough.
Shapes
A Plotter is the window. You add meshes to it with add_mesh and open it with show.
=

Drag the mouse to rotate it and the wheel to zoom in.
Notice that you haven’t placed any camera: show() looks at where things are and faces them on its own.
A point cloud
The most common form of scientific data isn’t a mesh but a list of points, each point with a measured value.
A PolyData is exactly that, and glyph places the same figure at each point — a sphere, repeated, that VTK draws in one go no matter how many there are.
=
=
= * 0.12
= 0.02 *
=
=
=
=
Keep reading — it's free.
The rest of this page is open to anyone with a free account. Nothing is sold here and nothing is charged for: the account exists so we know who agreed to the terms, and so we can send you the newsletter if you want it.
Create a free accountYou will be asked to accept the Terms · Privacy Policy