Documentation

interpolate.linear() function

interpolate.linear() inserts rows at regular intervals using linear interpolation to determine values for inserted rows.

Function requirements

  • Input data must have _time and _value columns.
  • All columns other than _time and _value must be part of the group key.
Function type signature
(<-tables: stream[{A with _value: float, _time: time}], every: duration) => stream[{A with _value: float, _time: time}]

For more information, see Function type signatures.

Parameters

every

(Required) Duration of time between interpolated points.

tables

Input data. Default is piped-forward data (<-).

Examples

Interpolate missing data by day

import "interpolate"

data
    |> interpolate.linear(every: 1d)

View example input and output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2