alsdb.utils.viz.plot_pointcloud_3d#

alsdb.utils.viz.plot_pointcloud_3d(df: DataFrame, color_by: str = 'Z', max_points: int = 50000, point_size: float = 1.0, cmap: str = 'terrain', percentile_clip: tuple[float, float] = (2.0, 98.0), elev: float = 25.0, azim: float = -60.0, backend: str = 'matplotlib', figsize: tuple[float, float] = (10, 8))[source]#

3-D scatter plot of the point cloud.

Always subsamples to max_points for performance. With a full 11 M-point PNOA tile, use max_points=50_000 (matplotlib) or up to 200_000 (plotly/WebGL).

Parameters:
  • df – Point-cloud DataFrame with columns X, Y, Z.

  • color_by

    Attribute used for colour:

    • "Z" — elevation (default)

    • "RGB" — true colour (requires Red, Green, Blue columns)

    • "Intensity" — return intensity

    • "Classification" — LAS class codes (uses _LAS_CLASSES palette)

  • max_points – Maximum number of points to render. Random subsample if exceeded.

  • point_size – Marker size in points (matplotlib) or pixels (plotly).

  • cmap – Matplotlib colormap name (ignored when color_by is "RGB" or "Classification").

  • percentile_clip – Low / high percentile for colour-scale clipping.

  • elev – Initial viewing elevation and azimuth angles (matplotlib only).

  • azim – Initial viewing elevation and azimuth angles (matplotlib only).

  • backend"matplotlib" (default, static) or "plotly" (interactive, requires plotly to be installed).

  • figsize – Figure size in inches (matplotlib only).

Return type:

matplotlib.figure.Figure or plotly.graph_objects.Figure