StylishMultiSeriesLineChart

fun StylishMultiSeriesLineChart(labels: List<String>, series: List<StylishLineSeries>, contentDescriptionPrefix: String, modifier: Modifier = Modifier, selection: StylishChartSelection? = null, onSelectionChange: (StylishChartSelection?) -> Unit? = null, chartHeight: Dp = StylishTheme.dimensions.lineChartHeight, gridColor: Color = MaterialTheme.colorScheme.outlineVariant, strokeWidth: Dp = 2.5.dp, showLegend: Boolean = true, tooltip: @Composable (label: String, series: StylishLineSeries, value: Float) -> Unit? = null, visibleSeriesNames: Set<String> = series.map { it.name }.toSet(), onVisibleSeriesNamesChange: (Set<String>) -> Unit? = null, xAxisLabel: String? = null, yAxisLabel: String? = null, valueFormatter: (Float) -> String? = null, yAxisTickCount: Int = 5, showAxisTicks: Boolean = false, xAxisTickFormatter: (String) -> String = { it }, yAxisTickFormatter: (Float) -> String = { valueFormatter?.invoke(it) ?: it.toString() })

Multi-series line chart with a horizontally scrollable legend and tap selection tooltip. Non-finite values are skipped. Series may be shorter than labels; missing points are empty.


fun StylishMultiSeriesLineChart(labels: List<String>, series: List<StylishLineSeries>, contentDescriptionPrefix: String, state: StylishChartState, onStateChange: (StylishChartState) -> Unit, modifier: Modifier = Modifier)

Controlled overload using StylishChartState. The reducer-backed state can be persisted or shared with a store while the renderer remains the same.