Data Decimation

The decimation plugin can be used with line charts to automatically decimate data at the start of the chart lifecycle. Before enabling this plugin, review the requirements to ensure that it will work with the chart you want to create.

Configuration Options

Namespace: options.plugins.decimation, the global options for the plugin are defined in Chart.defaults.plugins.decimation.

NameTypeDefaultDescription
enabledbooleanfalseIs decimation enabled?
algorithmstring‘min-max’Decimation algorithm to use. See the more…
samplesnumberIf the ‘lttb’ algorithm is used, this is the number of samples in the output dataset. Defaults to the canvas width to pick 1 sample per pixel.
thresholdnumberIf the number of samples in the current axis range is above this value, the decimation will be triggered. Defaults to 4 times the canvas width.
The number of point after decimation can be higher than the threshold value.

Decimation Algorithms

Decimation algorithm to use for data. Options are:

  • 'lttb'
  • 'min-max'

Largest Triangle Three Bucket (LTTB) Decimation

LTTBData Decimation - 图1 (opens new window) decimation reduces the number of data points significantly. This is most useful for showing trends in data using only a few data points.

Min/Max Decimation

Min/maxData Decimation - 图2 (opens new window) decimation will preserve peaks in your data but could require up to 4 points for each pixel. This type of decimation would work well for a very noisy signal where you need to see data peaks.

Requirements

To use the decimation plugin, the following requirements must be met:

  1. The dataset must have an indexAxis of 'x'
  2. The dataset must be a line
  3. The X axis for the dataset must be either a 'linear' or 'time' type axis
  4. Data must not need parsing, i.e. parsing must be false
  5. The dataset object must be mutable. The plugin stores the original data as dataset._data and then defines a new data property on the dataset.