A Kotlin Multiplatform chart library built with Jetpack Compose.
https://charts.harisdautovic.com/
https://charts.harisdautovic.com/demo
https://charts.harisdautovic.com/demo/snapshot/
https://charts.harisdautovic.com/playground
dependencyResolutionManagement {
repositories {
mavenCentral()
}
}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-stacked-bar:<version>")
implementation("io.github.dautovicharis:charts-stacked-area:<version>")
implementation("io.github.dautovicharis:charts-radar:<version>")
// Optional: add charts-core directly only if you need shared base APIs
implementation("io.github.dautovicharis:charts-core:<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-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)
}See CONTRIBUTING.md for contribution guidelines.