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
.
Name | Type | Default | Description |
---|---|---|---|
enabled | boolean | false | Is decimation enabled? |
algorithm | string | ‘min-max’ | Decimation algorithm to use. See the more… |
samples | number | If 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. | |
threshold | number | If 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
LTTB (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/max (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:
- The dataset must have an indexAxis of
'x'
- The dataset must be a line
- The X axis for the dataset must be either a ‘linear’ or ‘time’ type axis
- Data must not need parsing, i.e. parsing must be
false
- The dataset object must be mutable. The plugin stores the original data as
dataset._data
and then defines a newdata
property on the dataset.