plot icon indicating copy to clipboard operation
plot copied to clipboard

LineWidth is not synchronized to XAxisWidth

Open jns-codeworks opened this issue 2 years ago • 1 comments

It seems like XAxis.stepSize is not synchronized to the xOffset between DataPoints. Changing stepSize only has effect on XAxis, not on Line

    val ethereumOneWeek = listOf(
        DataPoint(1f, 2938.67f),
        DataPoint(2f, 2971.3f),
        DataPoint(3f, 2887.21f),
        DataPoint(4f, 2704.42f),
        DataPoint(5f, 2646.03f),
        DataPoint(6f, 2637.95f),
        DataPoint(7f, 2548.08f),
    )

    LineGraph(
        plot = LinePlot(
            grid = LinePlot.Grid(Color.White.copy(alpha = 0.12f)),
            lines = listOf(
                element = LinePlot.Line(
                    dataPoints = ethereumOneWeek,
                    connection = LinePlot.Connection(color, 2.dp),
                    intersection = null,
                ),
            ),
            xAxis = LinePlot.XAxis(
                steps = 7,
                stepSize = 40.dp,
            ),
        ),
        modifier = Modifier
            .fillMaxWidth()
            .height(200.dp)
    )

chart

jns-codeworks avatar Mar 08 '22 03:03 jns-codeworks

you can change this line val xOffset = 20.dp.toPx() * xZoom.value in draw function to val xOffset = plot.xAxis.stepSize.toPx() * xZoom.value

GH860 avatar Jan 22 '23 08:01 GH860