Skip to main content
v2.2

Scrolling Heatmap

Scrolling heatmaps can be created with Heatmap Scrolling Grid Series, which has an API for pushing data in a scrolling manner (append new data on top of existing data).

Scrolling HeatmapScrolling Heatmap

Creating Scrolling Heatmap

series = chart.add_heatmap_scrolling_grid_series(resolution=10000, scroll_dimension='columns')

Positioning and Pixel Configuration

These methods allow you to define the spatial positioning of heatmap samples and control bilinear interpolation on each pixel.

Set Start Coordinate

# Set the start coordinate to (0, 0)
series.set_start(x=0, y=0)

Set Step Between Samples

# Set the step between samples to 10 in X and 5 in Y
series.set_step(x=10, y=5)

Set Pixel Interpolation

# Enable smooth pixel interpolation:
series.set_pixel_interpolation(True)

Add Intensity Values

Append new rows of intensity data to enable scrolling visualization. Older data scrolls out as new data is added.

# Append a new row to the scrolling heatmap
new_row = [0.1, 0.2, 0.3, 0.4, 0.5]
series.add_intensity_values([new_row])

Customizing Fill Coloring

Set Palette Coloring

import lightningchart as lc

# Create a palette that transitions from blue to red:

series.set_palette_coloring(
steps=[
{'value': 0, 'color': '#0000FF'},
{'value': 50, 'color': 'red'}
],
look_up_property='value',
interpolate=True
)

# With formatted legend display:
series.set_palette_coloring(
steps=[
{'value': 0, 'color': '#0000FF'},
{'value': 100, 'color': '#FF0000'},
],
look_up_property='value',
formatter_precision=2, # Decimal places
formatter_unit='mag', # Unit suffix
formatter_scale=1.5, # Scale values
formatter_type='scientific', # 'standard', 'compact', 'engineering', 'scientific'
formatter_operation='floor', # 'none', 'round', 'ceil', 'floor'
)

Solid Fill Color

import lightningchart as lc

# Set the heatmap fill to a light gray:
series.set_color('#D3D3D3')

Removing Color

# Remove the fill color:
series.set_empty_color_fill()

Wireframe Configuration

Set Wireframe Stroke

import lightningchart as lc

# Set a wireframe with 2px thickness in black:
series.set_wireframe_stroke(thickness=2, color='black')

Hide Wireframe

# Hide the heatmap wireframe:
series.hide_wireframe()

Data Cleaning

Turns on automatic data cleaning, which can help manage memory by removing outdated or unused samples.

# Enable automatic data cleaning:
series.enable_data_cleaning(True)

Scrolling heatmap does not currently have a method to control maximum memory usage precisely. enable_data_cleaning effectively enables "lazy" data cleaning, which will prevent applications from running out of memory, but when this data cleaning exactly happens is not guaranteed.

Series Utility Methods

This section works the same as for Line, to avoid duplication of guides, please refer to the section under Line

Legend

Please see common legend section.

Examples

Link to the examples