What's the efficient way to create 3D scatter plot for millions of points?

I want to plot a 3D scatter plot for a 3D point-cloud data set with 140 millions of points.

I sub-sampled the data by keeping one point every 200 points, thus reducing it to about 700k points.

However, I found that the same HTML 3D scatter plot file (about 35MB) is empty as shown on some computers, although it shows up fine on others, probably dependent on graphic card.

May I ask:

  1. Is the visualization of 3D scatter plot with lots of points dependent on the REM of the graphic card of a computer?
  2. How to efficiently visualize 3D scatter plots with millions of points?
  3. The scattergl is recommanded to improve the performance of 2D scatter plot with many points. So, is there a scattergl equivalent for 3D scatter plot?


Hey, to display large point clouds, I’ve previously used pydeck, which also has integration with Dash via dash_deck.

It seems to handle up to a few million points in the browser pretty well (it is based on WebGL technology).

Thanks for the suggestion, and I’ll check it out later.

I found that if I reduce the number of points in the 3D scatter plot to close to or below 1 million (about 30MB) through sub-sampling of the point-cloud data set, the chart can be shown in Firefox correctly (not in Chrome, Brave, Edge).

I suspect that visibility of 3D scatter plot with “million” level of points depends on graphic card and web browser used, correct me if I’m wrong.