Skip to main content
Version: 4.0

Interface: ISeriesApi<TSeriesType>

Represents the interface for interacting with series.

Type parameters

TSeriesType extends SeriesType

Methods

priceFormatter()

priceFormatter(): IPriceFormatter

Returns current price formatter

Returns

IPriceFormatter

Interface to the price formatter object that can be used to format prices in the same way as the chart does


priceToCoordinate()

priceToCoordinate(price): Coordinate

Converts specified series price to pixel coordinate according to the series price scale

Parameters

price: number

Input price to be converted

Returns

Coordinate

Pixel coordinate of the price level on the chart


coordinateToPrice()

coordinateToPrice(coordinate): BarPrice

Converts specified coordinate to price value according to the series price scale

Parameters

coordinate: number

Input coordinate to be converted

Returns

BarPrice

Price value of the coordinate on the chart


barsInLogicalRange()

barsInLogicalRange(range): BarsInfo

Returns bars information for the series in the provided logical range or null, if no series data has been found in the requested range. This method can be used, for instance, to implement downloading historical data while scrolling to prevent a user from seeing empty space.

Parameters

range: Range<number>

The logical range to retrieve info for.

Returns

BarsInfo

The bars info for the given logical range.

Examples

const barsInfo = series.barsInLogicalRange(chart.timeScale().getVisibleLogicalRange());
console.log(barsInfo);
function onVisibleLogicalRangeChanged(newVisibleLogicalRange) {
const barsInfo = series.barsInLogicalRange(newVisibleLogicalRange);
// if there less than 50 bars to the left of the visible area
if (barsInfo !== null && barsInfo.barsBefore < 50) {
// try to load additional historical data and prepend it to the series data
}
}

chart.timeScale().subscribeVisibleLogicalRangeChange(onVisibleLogicalRangeChanged);

applyOptions()

applyOptions(options): void

Applies new options to the existing series You can set options initially when you create series or use the applyOptions method of the series to change the existing options. Note that you can only pass options you want to change.

Parameters

options: SeriesPartialOptionsMap[TSeriesType]

Any subset of options.

Returns

void


options()

options(): Readonly <SeriesOptionsMap[TSeriesType]>

Returns currently applied options

Returns

Readonly <SeriesOptionsMap[TSeriesType]>

Full set of currently applied options, including defaults


priceScale()

priceScale(): IPriceScaleApi

Returns interface of the price scale the series is currently attached

Returns

IPriceScaleApi

IPriceScaleApi object to control the price scale


setData()

setData(data): void

Sets or replaces series data.

Parameters

data: SeriesDataItemTypeMap[TSeriesType][]

Ordered (earlier time point goes first) array of data items. Old data is fully replaced with the new one.

Returns

void

Examples

lineSeries.setData([
{ time: '2018-12-12', value: 24.11 },
{ time: '2018-12-13', value: 31.74 },
]);
barSeries.setData([
{ time: '2018-12-19', open: 141.77, high: 170.39, low: 120.25, close: 145.72 },
{ time: '2018-12-20', open: 145.72, high: 147.99, low: 100.11, close: 108.19 },
]);

update()

update(bar): void

Adds new data item to the existing set (or updates the latest item if times of the passed/latest items are equal).

Parameters

bar: SeriesDataItemTypeMap[TSeriesType]

A single data item to be added. Time of the new item must be greater or equal to the latest existing time point. If the new item's time is equal to the last existing item's time, then the existing item is replaced with the new one.

Returns

void

Examples

lineSeries.update({
time: '2018-12-12',
value: 24.11,
});
barSeries.update({
time: '2018-12-19',
open: 141.77,
high: 170.39,
low: 120.25,
close: 145.72,
});

dataByIndex()

dataByIndex(logicalIndex, mismatchDirection?): SeriesDataItemTypeMap[TSeriesType]

Returns a bar data by provided logical index.

Parameters

logicalIndex: number

Logical index

mismatchDirection?: MismatchDirection

Search direction if no data found at provided logical index.

Returns

SeriesDataItemTypeMap[TSeriesType]

Original data item provided via setData or update methods.

Example

const originalData = series.dataByIndex(10, LightweightCharts.MismatchDirection.NearestLeft);

setMarkers()

setMarkers(data): void

Allows to set/replace all existing series markers with new ones.

Parameters

data: SeriesMarker <Time>[]

An array of series markers. This array should be sorted by time. Several markers with same time are allowed.

Returns

void

Example

series.setMarkers([
{
time: '2019-04-09',
position: 'aboveBar',
color: 'black',
shape: 'arrowDown',
},
{
time: '2019-05-31',
position: 'belowBar',
color: 'red',
shape: 'arrowUp',
id: 'id3',
},
{
time: '2019-05-31',
position: 'belowBar',
color: 'orange',
shape: 'arrowUp',
id: 'id4',
text: 'example',
size: 2,
},
]);

chart.subscribeCrosshairMove(param => {
console.log(param.hoveredObjectId);
});

chart.subscribeClick(param => {
console.log(param.hoveredObjectId);
});

markers()

markers(): SeriesMarker <Time>[]

Returns an array of series markers.

Returns

SeriesMarker <Time>[]


createPriceLine()

createPriceLine(options): IPriceLine

Creates a new price line

Parameters

options: CreatePriceLineOptions

Any subset of options, however price is required.

Returns

IPriceLine

Example

const priceLine = series.createPriceLine({
price: 80.0,
color: 'green',
lineWidth: 2,
lineStyle: LightweightCharts.LineStyle.Dotted,
axisLabelVisible: true,
title: 'P/L 500',
});

removePriceLine()

removePriceLine(line): void

Removes the price line that was created before.

Parameters

line: IPriceLine

A line to remove.

Returns

void

Example

const priceLine = series.createPriceLine({ price: 80.0 });
series.removePriceLine(priceLine);

seriesType()

seriesType(): TSeriesType

Return current series type.

Returns

TSeriesType

Type of the series.

Example

const lineSeries = chart.addLineSeries();
console.log(lineSeries.seriesType()); // "Line"

const candlestickSeries = chart.addCandlestickSeries();
console.log(candlestickSeries.seriesType()); // "Candlestick"