JavaScript 3D Surface Grid Chart

This example showcases the SurfaceGridSeries feature of LightningChart JS.

Surface Grid Series is used to visualize a data set in form of a grid. To interpret the data, imagine a grid that is layed on the plane between X and Z axes.

Similarly to Heatmap Grid Series, Surface Grids are split into a number of columns (X axis) and rows (Z axis). For each intersection between a column and row, there is a data point in the surface grid series.

In this example, the surface grid has 1024 columns and 1024 rows, summing up to a total of 1 048 576 data points. Each of this data points is associated with a height (Y axis) value. Additionally, the surface is colored dynamically based on each data points Y value.

To highlight the similarity, a 2D Heatmap Grid Series with the same data set and palette is displayed on the left side.

Finally, this example also showcases the available selection of 3D color shading style (simple or Phong). By default, surface series use simple color shading, which displays all colors as they are. To improve depth perception, phong shading can be enabled to simulate the behavior of light in the scene.

About Performance

SurfaceGridSeries is one of the latest additions to LightningChart JS, and as such it enjoys from the very latest optimizations. Surface Grid Series is very well optimized for memory consumption and CPU usage, usual maximum data set sizes with good PC's are in range of billions of data points.

This is ground breaking performance, as traditionally surface charts are really expensive components with the size limit being around 10 000 data points (100 000x smaller).

Large Surface Grid Series are very GPU intensive which shows as slow redrawing. When developing applications that utilize them, it is best to avoid unnecessary redraws to maintain good refresh rate with weak devices, such as laptops and phones.

More Surface Examples