Hide Cells with Ghosting

Hide Cells with Ghosting#

Specify specific cells to hide when plotting.

This is a lightweight alternative to thresholding to quickly hide cells in a mesh without creating a new mesh.

Notably, the mesh must be cast to an pyvista.UnstructuredGrid type for this to work (use the cast_to_unstructured_grid filter).

from __future__ import annotations

import numpy as np
from pyvista import examples

vol = examples.load_channels()
mesh = vol.cast_to_unstructured_grid()

Decide which cells are ghosted with a criteria (feel free to adjust this or manually create this array to hide specific cells).

ghosts = np.argwhere(mesh['facies'] < 1.0)

# This will act on the mesh inplace to mark those cell indices as ghosts
mesh.remove_cells(ghosts, inplace=True)
UnstructuredGrid (0x7ab94306ca60)
  N Cells:    1065589
  N Points:   1336015
  X Bounds:   0.000e+00, 2.500e+02
  Y Bounds:   0.000e+00, 2.500e+02
  Z Bounds:   0.000e+00, 1.000e+02
  N Arrays:   2


Now we can plot the mesh and those cells will be hidden

mesh.plot(clim=[0, 4])
ghost cells

Tags: plot

Total running time of the script: (0 minutes 9.341 seconds)

Gallery generated by Sphinx-Gallery