'Android graphview Real Time Sensor Data plotting issue

I am implementing an app with the GraphView library in order to draw sensor data values in real time. However in the output i can see only only one dataDrawPoint and the plot line appears to be a straight line with no curves. On the X-Axis i display the timestamps for each sensor value and on the Y - Axis the value of each sensor.

This is the relevant code for the plotting of the Accelerometer Sensor Data:

private fun initAccelDataGraphLines()
{
    var accelLineGraphView = dataBinding.accelLineGraphChart
    accelLineDataFirstSeries = LineGraphSeries<DataPoint>()
    accelLineDataFirstSeries.isDrawDataPoints = true
    accelLineDataFirstSeries.color = resources.getColor(R.color.Blue)
    accelLineDataFirstSeries.dataPointsRadius = 8f
    accelLineDataFirstSeries.thickness = 4
    accelLineDataSecondSeries = LineGraphSeries<DataPoint>()
    accelLineDataSecondSeries.isDrawDataPoints = true
    accelLineDataSecondSeries.color = resources.getColor(R.color.Green)
    accelLineDataSecondSeries.dataPointsRadius = 8f
    accelLineDataSecondSeries.thickness = 4
    accelLineDataThirdSeries = LineGraphSeries<DataPoint>()
    accelLineDataThirdSeries.isDrawDataPoints = true
    accelLineDataThirdSeries.dataPointsRadius = 8f
    accelLineDataThirdSeries.thickness = 4
    accelLineDataThirdSeries.color = resources.getColor(R.color.Red)
    accelLineGraphView.addSeries(accelLineDataFirstSeries)
    accelLineGraphView.addSeries(accelLineDataSecondSeries)
    accelLineGraphView.addSeries(accelLineDataThirdSeries)
    accelLineGraphView.viewport.isScalable = true
    accelLineGraphView.viewport.isScrollable = true
    accelLineGraphView.getViewport().setScrollable(true); // enables horizontal scrolling
    accelLineGraphView.getViewport().setScrollableY(true); // enables vertical scrolling
    accelLineGraphView.getViewport().setScalable(true); // enables horizontal zooming and scrolling
    accelLineGraphView.getViewport().setScalableY(true); // enables vertical zooming and scrolling
    accelLineGraphView.getGridLabelRenderer().setLabelVerticalWidth(60);
    accelLineGraphView.gridLabelRenderer.isHighlightZeroLines = false
    accelLineGraphView.title = "Accelerometer Sensor Data Plot"
    accelLineGraphView.getGridLabelRenderer().setVerticalAxisTitle(Html.fromHtml("m/s<sup>2</sup>").toString());
    accelLineGraphView.getGridLabelRenderer().setHorizontalAxisTitle("Time (millsec)");
    accelLineGraphView.titleTextSize = 16f
    dataBinding.accelLineGraphChart.viewport.setMinY(-5.0)
    dataBinding.accelLineGraphChart.viewport.setMaxY(15.0)

}

            acceleroMeterValuesXAxis.add(event.values[0])
            acceleroMeterValuesYAxis.add(event.values[1])
            acceleroMeterValuesZAxis.add(event.values[2])

            //append the accelerometer sensor values in real time

        
                //set the timestamps
                timestampX = System.currentTimeMillis() - initialAcceleratorTimeStamp
                accelerometerValuesTimeStampCounter ++
                //store the timestamps
                accelerometerValuesTimeStamps.add(timestampX)
accelLineDataFirstSeries.appendData(DataPoint(accelerometerValuesTimeStamps.get(accelerometerValuesTimeStampCounter -1).toDouble() , event.values[0].toDouble()) , true, GRAPH_VIEW_ACCELLINE_DATA_SAMPLE_NUM)
            accelLineDataSecondSeries.appendData(DataPoint(accelerometerValuesTimeStamps.get(accelerometerValuesTimeStampCounter -1).toDouble() , event.values[1].toDouble()) , true, GRAPH_VIEW_ACCELLINE_DATA_SAMPLE_NUM)
            accelLineDataThirdSeries.appendData(DataPoint(accelerometerValuesTimeStamps.get(accelerometerValuesTimeStampCounter -1).toDouble() , event.values[2].toDouble()) , true, GRAPH_VIEW_ACCELLINE_DATA_SAMPLE_NUM)

[![dataBinding.accelLineGraphChart.viewport.setMinY(-5.0)
dataBinding.accelLineGraphChart.viewport.setMaxY(15.0)][1]][1]

Here is an image with the plot lines:

enter image description here

Any help is appreciated!

Lampros



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source