Interface: ISeriesApi<TSeriesType>
Represents the interface for interacting with series.
Type parameters
Name | Type |
---|---|
TSeriesType | extends SeriesType |
Methods
priceFormatter
▸ priceFormatter(): IPriceFormatter
Returns current price formatter
Returns
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
Name | Type | Description |
---|---|---|
price | number | Input price to be converted |
Returns
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
Name | Type | Description |
---|---|---|
coordinate | number | Input coordinate to be converted |
Returns
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.
Example
Getting bars info for current visible range
const barsInfo = series.barsInLogicalRange(chart.timeScale().getVisibleLogicalRange());
console.log(barsInfo);
Example
Implementing downloading historical data while scrolling
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);
Parameters
Name | Type | Description |
---|---|---|
range | Range <number > | The logical range to retrieve info for. |
Returns
The bars info for the given logical range.
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
Name | Type | Description |
---|---|---|
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 object to control the price scale
setData
▸ setData(data
): void
Sets or replaces series data.
Example
Setting data to a line series
lineSeries.setData([
{ time: '2018-12-12', value: 24.11 },
{ time: '2018-12-13', value: 31.74 },
]);
Example
Setting data to a bars (or candlestick) series
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 },
]);
Parameters
Name | Type | Description |
---|---|---|
data | SeriesDataItemTypeMap [TSeriesType ][] | Ordered (earlier time point goes first) array of data items. Old data is fully replaced with the new one. |
Returns
void
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).
Example
Updating line series data
lineSeries.update({
time: '2018-12-12',
value: 24.11,
});
Example
Updating bar (or candlestick) series data
barSeries.update({
time: '2018-12-19',
open: 141.77,
high: 170.39,
low: 120.25,
close: 145.72,
});
Parameters
Name | Type | Description |
---|---|---|
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
setMarkers
▸ setMarkers(data
): void
Allows to set/replace all existing series markers with new ones.
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.hoveredMarkerId);
});
chart.subscribeClick(param => {
console.log(param.hoveredMarkerId);
});
Parameters
Name | Type | Description |
---|---|---|
data | SeriesMarker <Time >[] | An array of series markers. This array should be sorted by time. Several markers with same time are allowed. |
Returns
void
createPriceLine
▸ createPriceLine(options
): IPriceLine
Creates a new price line
Example
const priceLine = series.createPriceLine({
price: 80.0,
color: 'green',
lineWidth: 2,
lineStyle: LightweightCharts.LineStyle.Dotted,
axisLabelVisible: true,
title: 'P/L 500',
});
Parameters
Name | Type | Description |
---|---|---|
options | PriceLineOptions | Any subset of options. |
Returns
removePriceLine
▸ removePriceLine(line
): void
Removes the price line that was created before.
Example
const priceLine = series.createPriceLine({ price: 80.0 });
series.removePriceLine(priceLine);
Parameters
Name | Type | Description |
---|---|---|
line | IPriceLine | A line to remove. |
Returns
void
seriesType
▸ seriesType(): TSeriesType
Return current series type.
Example
const lineSeries = chart.addLineSeries();
console.log(lineSeries.seriesType()); // "Line"
const candlestickSeries = chart.addCandlestickSeries();
console.log(candlestickSeries.seriesType()); // "Candlestick"
Returns
TSeriesType
Type of the series.