A Kotlin Multiplatform chart library built with Jetpack Compose.
Documentation · Production Demo · Snapshot Demo · Playground · Maven Central
| Project | Description |
|---|---|
| charts | Core Kotlin Multiplatform chart library for Compose apps. |
| charts-docs | Documentation site and published examples. |
| charts-playground | Interactive playground for trying chart configurations. |
| compose-gif-recorder | Utility used to record Compose chart examples as GIFs. |
Use the umbrella artifact when you want all chart types with the simplest setup.
commonMain.dependencies {
implementation("io.github.dautovicharis:charts:<version>")
}Use independent modules when you want only specific chart types and smaller dependency footprint.
commonMain.dependencies {
implementation("io.github.dautovicharis:charts-line:<version>")
implementation("io.github.dautovicharis:charts-pie:<version>")
implementation("io.github.dautovicharis:charts-bar:<version>")
implementation("io.github.dautovicharis:charts-histogram:<version>")
implementation("io.github.dautovicharis:charts-stacked-bar:<version>")
implementation("io.github.dautovicharis:charts-stacked-area:<version>")
implementation("io.github.dautovicharis:charts-radar:<version>")
}Use BOM for version alignment where Gradle platforms are supported.
For KMP commonMain, keep explicit versions as shown above.
dependencies {
implementation(platform("io.github.dautovicharis:charts-bom:<version>"))
implementation("io.github.dautovicharis:charts-line")
implementation("io.github.dautovicharis:charts-pie")
implementation("io.github.dautovicharis:charts-bar")
implementation("io.github.dautovicharis:charts-histogram")
implementation("io.github.dautovicharis:charts-stacked-bar")
implementation("io.github.dautovicharis:charts-stacked-area")
implementation("io.github.dautovicharis:charts-radar")
}@Composable
fun BasicLineChart() {
val values = listOf(42f, 38f, 45f, 51f, 47f, 54f, 49f)
val labels = listOf("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
val dataSet = values.toChartDataSet(
title = "Daily Support Tickets",
labels = labels,
)
LineChart(dataSet)
}Start with charts-projects to set up the local workspace.