Documentation

experimental.histogram() function

experimental.histogram() is subject to change at any time.

experimental.histogram() approximates the cumulative distribution of a dataset by counting data frequencies for a list of bins.

A bin is defined by an upper bound where all data points that are less than or equal to the bound are counted in the bin. Bin counts are cumulative.

Function behavior

  • Outputs a single table for each input table.
  • Each output table represents a unique histogram.
  • Output tables have the same group key as the corresponding input table.
  • Drops columns that are not part of the group key.
  • Adds an le column to store upper bound values.
  • Stores bin counts in the _value column.
Function type signature
(<-tables: stream[{A with _value: float}], bins: [float], ?normalize: bool) => stream[{A with le: float, _value: float}]

For more information, see Function type signatures.

Parameters

bins

(Required) List of upper bounds to use when computing histogram frequencies, including the maximum value of the data set.

This value can be set to positive infinity (float(v: "+Inf")) if no maximum is known.

Bin helper functions

The following helper functions can be used to generated bins.

  • linearBins()
  • logarithmicBins()

normalize

Convert count values into frequency values between 0 and 1. Default is false.

Note: Normalized histograms cannot be aggregated by summing their counts.

tables

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

Examples

Create a histogram from input data

import "experimental"
import "sampledata"

sampledata.float()
    |> experimental.histogram(
        bins: [
            0.0,
            5.0,
            10.0,
            15.0,
            20.0,
        ],
    )

View example input and output


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB 3 Open Source Now in Public Alpha

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

We are releasing two products as part of the alpha.

InfluxDB 3 Core, is our new open source product. It is a recent-data engine for time series and event data. InfluxDB 3 Enterprise is a commercial version that builds on Core’s foundation, adding historical query capability, read replicas, high availability, scalability, and fine-grained security.

For more information on how to get started, check out: