Skip to main content
Version: 2.0.0-alpha.19

Candlestick layer

Use CandlestickCartesianLayer to create candlestick charts. Each candle’s style is defined by its corresponding Candle. The Candles are provided by a CandlestickCartesianLayer.CandleProvider.

warning

Be careful to import the composable CandlestickCartesianLayer.CandleProvider.absolute and CandlestickCartesianLayer.CandleProvider.absoluteRelative functions from the compose module, not the regular functions with the same names from the core module.

Create Candles via rememberCandle.

At the CandlestickCartesianLayer level, you can set the minimum body height, change the candle spacing, and toggle wick scaling.

To create a CandlestickCartesianLayer, use the rememberCandlestickCartesianLayer composable function:

CartesianChartHost(chart = rememberCartesianChart(rememberCandlestickCartesianLayer(...), ...), ...)

Data

CandlestickCartesianLayers use CandlestickCartesianLayerModels. When using a CartesianChartModelProducer, add CandlestickCartesianLayerModels via candlestickSeries:

cartesianChartModelProducer.tryRunTransaction {
candlestickSeries(
x = listOf(1, 2, 3, 4),
opening = listOf(2, 4, 6, 3),
closing = listOf(4, 5, 3, 3),
low = listOf(1, 4, 2, 2),
high = listOf(5, 6, 7, 4),
)
...
}

candlestickSeries also has an overload with no x parameter. This overload uses the indices of the prices as the x values.

candlestickSeries(
opening = listOf(2, 4, 6, 3),
closing = listOf(4, 5, 3, 3),
low = listOf(1, 4, 2, 2),
high = listOf(5, 6, 7, 4),
)

When creating a CartesianChartModel directly, you can add a CandlestickCartesianLayerModel by using CandlestickCartesianLayerModel.build:

CartesianChartModel(
ColumnCartesianLayerModel.build(
x = listOf(1, 2, 3, 4),
opening = listOf(2, 4, 6, 3),
closing = listOf(4, 5, 3, 3),
low = listOf(1, 4, 2, 2),
high = listOf(5, 6, 7, 4),
),
...
)

This function also has an overload with no x parameter:

ColumnCartesianLayerModel.build(
opening = listOf(2, 4, 6, 3),
closing = listOf(4, 5, 3, 3),
low = listOf(1, 4, 2, 2),
high = listOf(5, 6, 7, 4),
)

Examples

note

CandlestickCartesianLayer is a recent addition. More examples are in the works.