ZoomCharts Documentation


Inheritance hierarchy

This type inherits from TimeChartSettingsSeriesData. Through this type it also inherits members from LinearChartSettingsSeriesData.


This type does not define any methods.


aggregatedValueFunction: (value: number, time: number, units: string) => number

Prepare displaying value after data aggregation.

value: number

aggregated value that is about to be displayed

time: number

time display unit time stamp in ms

units: string

display unit

Return value
Data type: number

the value to display.

aggregation: "sum" | "min" | "max" | "first" | "last" | "avg" | "percentile" | "count"

Aggregation function to use. Used when data source does not provide data in needed display unit. Note that when avg is used, you should provide countIndex so that the calculation is correct even across multiple units.

  • "max-threshold" modes finds the largest value that is at least X% of the data range; otherwise finds the minimum. X% is set with the 'percentile' setting.
Valid values:
  • sum
  • min - threshold
  • max - threshold
  • first
  • last
  • avg
  • percentile
  • count - counts non-null values. If countIndex is specified, uses that number for each value, otherwise counts each value as 1.
aggregationFunction: (displayUnit: string, fromTime: number, toTime: number, intervalValues: Array<number>, intervalCounts: Array<number>) => [number, number]

When given, then "aggregationFunction" is called to generate the value of each displayed data point instead of the fixed function specified by "aggregation".

displayUnit: string

Unit to aggregate to

fromTime: number

Initial time for current data item

toTime: number

Final time for current data item

intervalValues: Array<number>

All data values in the time range

intervalCounts: Array<number>

All data counts in the time range

Return value
Data type: [number, number]

Array of two elements: The aggregated value, and the aggregated count, respectively

alwaysZeroMode: boolean

If true, zero mode sets every null to zero regardless of data range. If false, zero mode only sets nulls within the data range to zero

close: number

The index in the value arrays where the closing values in that particular time period is located.

countIndex: number

Index in the value array where the count of aggregated values are located. This is optional but should be provided if the aggregation method is avg (average) and URL or dataFunction is used to aggregate the values external to the chart because otherwise the chart will aggregate values by simply counting them. So if countIndex is not provided and there are values: [[May 1 2014, 5], [May 2 2014, 15], [June 1 2014, 20]] the aggregation to year 2014 will yield (5+15+20)/3 = 13.3 when the display unit is days but ((5+15)/2 + 20)/2 = 15 when the display unit is months.

high: number

The index in the value arrays where the highest values in that particular time period is located.

index: number

Index in value the array where the values that will be aggregated are located. An alternative is to use valueFunction.

low: number

The index in the value arrays where the lowest values in that particular time period is located.

noDataPolicy: "join" | "skip" | "zero"

Method used to fill in time intervals that have no data. Used only for line series.

Valid values:
  • join - links data points with straight line
  • skip - do not draw in this interval.
  • zero - draw as the value is zero.
open: number

The index in the value arrays where the opening values in that particular time period is located.

percentile: number

Controls the percentile level for percentile and threshold aggregation modes.

source: string

Data source to use if multiple data sources are available.

valueFunction: (data: Array<number>) => number

Retrieves the individual value used for calculations from the data array. This is an alternative for specifying index.

data: Array<number>

entry in data values array where the value at index 0 is the timestamp

Return value
Data type: number

value to pass to aggregation