Jupyter Visualization

Since version 0.4.0, we added experimental support for Jupyter visualization with WebGL. If Open3D is installed from PyPI or Conda, Jupyter support is enabled by default. If Open3D is compiled from source, please refer to Setup Python binding environments on how to build Open3D with Jupyter visualization support.

Note that Jupyter visualization is still at an early experimental stage. Here are the main limitations:

  1. Only point cloud geometry is supported.

  2. Camera is initialized with fixed parameters. Therefore, the initial view may not be optimal for the point cloud.

  3. Performance is not optimized.


  • Mouse wheel: zoom in/out

  • Left mouse button drag: rotate axis

  • Right mouse button drag: pan

Example usage

Jupyter visualizer is defined in the JVisualizer class. Initialize the class, call add_geometry to add an Open3D geometry, and then call show to display the Jupyter widgets.

import numpy as np
import open3d as o3d
from open3d import JVisualizer

points = (np.random.rand(1000, 3) - 0.5) / 4
colors = np.random.rand(1000, 3)

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(points)
pcd.colors = o3d.utility.Vector3dVector(colors)

visualizer = JVisualizer()

If the point cloud is not visible (due to the fixed camera initialization), try first zooming in/out with the mouse wheel and panning by dragging with the right mouse button.