Vico

CandlestickCartesianLayer

Overview

Use CandlestickCartesianLayer to create candlestick charts. Instantiate CandlestickCartesianLayer via rememberCandlestickCartesianLayer.

Each candle’s style is defined by its corresponding Candle. The Candles are provided by a CandleProvider:

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

Transaction.candlestickSeries

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

cartesianChartModelProducer.runTransaction {
    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, which 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),
)

Manual CandlestickCartesianLayerModel creation

When creating a CartesianChartModel directly, you can add a CandlestickCartesianLayerModel by using 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),
)

Sample charts