diff --git a/chart/src/commonMain/kotlin/com/aay/compose/barChart/BarChart.kt b/chart/src/commonMain/kotlin/com/aay/compose/barChart/BarChart.kt index 92b097bd..d905bb98 100644 --- a/chart/src/commonMain/kotlin/com/aay/compose/barChart/BarChart.kt +++ b/chart/src/commonMain/kotlin/com/aay/compose/barChart/BarChart.kt @@ -43,6 +43,7 @@ import com.aay.compose.utils.ChartDefaultValues */ @Composable fun BarChart( + modifier: Modifier = ChartDefaultValues.barModifier, chartParameters: List = ChartDefaultValues.barParameters, gridColor: Color = ChartDefaultValues.gridColor, xAxisData: List = emptyList(), @@ -83,6 +84,7 @@ fun BarChart( } BarChartContent( + modifier = modifier, barsParameters = chartParameters, gridColor = gridColor, xAxisData = xAxisData, @@ -119,7 +121,7 @@ fun BarChart( barWidth = barWidth, spaceBetweenBars = spaceBetweenBars, spaceBetweenGroups = spaceBetweenGroups, - modifier = Modifier.weight(1f), + modifier = modifier.weight(1f), barCornerRadius = barCornerRadius ) @@ -142,6 +144,7 @@ fun BarChart( LegendPosition.DISAPPEAR -> { BarChartContent( + modifier = modifier, barsParameters = chartParameters, gridColor = gridColor, xAxisData = xAxisData, diff --git a/chart/src/commonMain/kotlin/com/aay/compose/barChart/components/BarChartContent.kt b/chart/src/commonMain/kotlin/com/aay/compose/barChart/components/BarChartContent.kt index 842039d8..d4011e9b 100644 --- a/chart/src/commonMain/kotlin/com/aay/compose/barChart/components/BarChartContent.kt +++ b/chart/src/commonMain/kotlin/com/aay/compose/barChart/components/BarChartContent.kt @@ -3,6 +3,7 @@ package com.aay.compose.barChart.components import androidx.compose.animation.core.* import androidx.compose.foundation.Canvas +import androidx.compose.foundation.background import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState @@ -28,6 +29,7 @@ import kotlinx.coroutines.launch @OptIn(ExperimentalTextApi::class) @Composable internal fun BarChartContent( + modifier: Modifier = Modifier, barsParameters: List, gridColor: Color, xAxisData: List, @@ -43,7 +45,6 @@ internal fun BarChartContent( barWidth: Dp, spaceBetweenBars: Dp, spaceBetweenGroups: Dp, - modifier: Modifier = Modifier, barCornerRadius: Dp ) { @@ -82,10 +83,10 @@ internal fun BarChartContent( } ) { Canvas( - modifier = Modifier.fillMaxSize() + modifier = Modifier.size(height = boxHeight, width = boxWidth) ) { - val spacingY = (boxHeight / 10) + val spacingY = (boxHeight - ((boxHeight - 20.0.dp.toPx().toDp()) / 1.1f.toDp().toPx())) xRegionWidth = ((barWidth + spaceBetweenBars) * barsParameters.size) + spaceBetweenGroups xRegionWidthWithoutSpacing = xRegionWidth - spaceBetweenGroups maxWidth = (xRegionWidth * xAxisData.size) - spaceBetweenGroups diff --git a/chart/src/commonMain/kotlin/com/aay/compose/lineChart/ChartContent.kt b/chart/src/commonMain/kotlin/com/aay/compose/lineChart/ChartContent.kt index 41db76e2..c27ba1f5 100644 --- a/chart/src/commonMain/kotlin/com/aay/compose/lineChart/ChartContent.kt +++ b/chart/src/commonMain/kotlin/com/aay/compose/lineChart/ChartContent.kt @@ -5,7 +5,6 @@ import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.tween import androidx.compose.foundation.Canvas -import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.* diff --git a/chart/src/commonMain/kotlin/com/aay/compose/utils/ChartDefaultValues.kt b/chart/src/commonMain/kotlin/com/aay/compose/utils/ChartDefaultValues.kt index 331d7df8..beb977f1 100644 --- a/chart/src/commonMain/kotlin/com/aay/compose/utils/ChartDefaultValues.kt +++ b/chart/src/commonMain/kotlin/com/aay/compose/utils/ChartDefaultValues.kt @@ -1,6 +1,8 @@ package com.aay.compose.utils import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight @@ -59,4 +61,5 @@ internal object ChartDefaultValues { val gridOrientation = GridOrientation.HORIZONTAL val legendPosition = LegendPosition.TOP val barCornerRadius = 0.dp + val barModifier = Modifier.fillMaxSize() } \ No newline at end of file diff --git a/common/src/commonMain/kotlin/com/aay/common/App.kt b/common/src/commonMain/kotlin/com/aay/common/App.kt index 9b6e6132..9a554dde 100644 --- a/common/src/commonMain/kotlin/com/aay/common/App.kt +++ b/common/src/commonMain/kotlin/com/aay/common/App.kt @@ -6,11 +6,11 @@ import androidx.compose.runtime.Composable fun App() { /** Sample of Line Chart **/ - LineChartSample() +// LineChartSample() /** Sample of Bar Chart **/ -// BarChartSample() + BarChartSample() /** Sample of Donut Chart **/ // DonutChartSample() diff --git a/common/src/commonMain/kotlin/com/aay/common/BarChartSample.kt b/common/src/commonMain/kotlin/com/aay/common/BarChartSample.kt index cbad2263..ee4a1db4 100644 --- a/common/src/commonMain/kotlin/com/aay/common/BarChartSample.kt +++ b/common/src/commonMain/kotlin/com/aay/common/BarChartSample.kt @@ -35,6 +35,7 @@ fun BarChartSample() { Box(Modifier.fillMaxSize().padding(24.dp)) { BarChart( + modifier = Modifier.fillMaxSize(), chartParameters = testBarParameters, gridColor = Color.DarkGray, xAxisData = listOf("2016", "2017", "2018", "2019", "2020", "2021", "2022"),