Both Pie and Donut charts use PieChartData.Slice to define segments (label, value, and color).
For Pie Charts:
- Use
PieChartConfig to control percentVisible, isAnimationEnable, showSliceLabels, and animationDuration. - Render with the
PieChart Composable.
For Donut Charts:
- Use
PieChartConfig with additional properties like strokeWidth (to create the hole), percentageFontSize, and percentColor. - Render with the
DonutPieChart Composable.
// Pie Chart Example
val pieChartData = PieChartData(
slices = listOf(
PieChartData.Slice("SciFi", 65f, Color(0xFF333333)),
PieChartData.Slice("Comedy", 35f, Color(0xFF666a86))
)
)
val pieChartConfig = PieChartConfig(
percentVisible = true,
isAnimationEnable = true,
showSliceLabels = false,
animationDuration = 1500
)
PieChart(modifier = Modifier.size(400.dp), pieChartData, pieChartConfig)
// Donut Chart Example
val donutChartData = PieChartData(
slices = listOf(
PieChartData.Slice("HP", 15f, Color(0xFF5F0A87)),
PieChartData.Slice("Dell", 30f, Color(0xFF20BF55))
)
)
val donutChartConfig = PieChartConfig(
percentVisible = true,
percentageFontSize = 42.sp,
strokeWidth = 120f,
percentColor = Color.Black,
activeSliceAlpha = .9f,
isAnimationEnable = true
)
DonutPieChart(modifier = Modifier.fillMaxWidth().height(500.dp), donutChartData, donutChartConfig)