LineCartesianLayer
LineCartesianLayer
s display data as lines, each of which is associated with a LineCartesianLayer.Line
. The LineCartesianLayer.Line
s are provided by a LineCartesianLayer.LineProvider
. A base implementation of this interface can be instantiated via LineCartesianLayer.LineProvider.series
. You can customize the lines’ fills, backgrounds, shapes, and other properties. You can also add data labels and points.
Line strokes are customized via LineCartesianLayer.LineStroke
, which has two implementations:
Line fills are customized via LineCartesianLayer.LineFill
, which has two factory functions:
Area fills, which are optional, are customized via LineCartesianLayer.AreaFill
. This has similar factory functions to LineCartesianLayer.LineFill
:
These cover most use cases. You can use both solid colors and DynamicShader
s, and you can apply split styling—enabling you to create a line that’s green for positive values and red for negative values, for instance. You can, however, also create your own LineCartesianLayer.LineFill
and LineCartesianLayer.AreaFill
implementations.
To add points, use LineCartesianLayer.PointProvider
. LineCartesianLayer.PointProvider.single
instantiates a base implementation that adds a point for each entry and uses a shared point style. Once again, custom implementations can be created. A common use case for this is styling points individually based on their y values.
For more, see 5.3.3 (Compose) and 8.3.3 (views).
Transaction.lineSeries
LineCartesianLayer
s use LineCartesianLayerModel
s. When using a CartesianChartModelProducer
, add LineCartesianLayerModel
s via lineSeries
:
Each series
invocation adds a series to the LineCartesianLayerModel
. Above, three series are added. series
has three overloads (each of which accepts all Number
subtypes):
vararg
overload that takes y values and uses their indices as the x valuesCollection
of y values and uses their indices as the x valuesCollection
of x values and a Collection
of y values of the same sizeLineCartesianLayerModel
creationWhen creating a CartesianChartModel
directly, you can add a LineCartesianLayerModel
by using build
. This function gives you access to the same DSL that lineSeries
does.