Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).
import panel as pn pn.extension('vtk')
VTK pane renders vtk.js files inside a panel, making it possible to load and interact with complex geometries in 3D.
For details on other options for customizing the component see the layout and styling how-to guides.
axes(dict): A dictionary with the parameters of the axes to construct in the 3D view. Must contain at least
[x|y|z]tickeris a dictionary which contains:
ticks(array of numbers) - required. Positions in the scene coordinates of the corresponding axis ticks
labels(array of strings) - optional. Label displayed respectively to the
labelsare not defined they are inferred from the
digits: number of decimal digits when
ticksare converted to
fontsize: size in pts of the ticks labels.
show_grid: boolean. If true (default) the axes grid is visible.
grid_opacity: float between 0-1. Defines the grid opacity.
axes_opacity: float between 0-1. Defines the axes lines opacity.
camera(dict): A dictionary reflecting the current state of the VTK camera
enable_keybindings(bool): A boolean to activate/deactivate keybindings. Bound keys are:
s: set representation of all actors to surface
w: set representation of all actors to wireframe
v: set representation of all actors to vertex
r: center the actors and move the camera so that all actors are visible
The mouse must be over the pane to work.
Warning: These keybindings may not work as expected in a notebook context, if they interact with already bound keys.
orientation_widget(bool): A boolean to activate/deactivate the orientation widget in the 3D pane.
ìnteractive_orientation_widget(bool): If True the orientation widget is clickable and allows to rotate the scene in one of the orthographic projections.
object(str or object): Can be a string pointing to a local or remote file with a
The simplest way to construct a
VTK pane is to give it a vtk.js file which it will serialize and embed in the plot. The
VTK pane also supports the regular sizing options provided by Bokeh, including responsive sizing modes:
vtk_pane = pn.pane.VTK( 'https://raw.githubusercontent.com/Kitware/vtk-js/master/Data/StanfordDragon.vtkjs', sizing_mode='stretch_width', height=400, enable_keybindings=True, orientation_widget=True ) vtk_pane