GraphView - Как добавить секунды на оси X - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь отобразить данные в реальном времени, полученные из трансляции. Эти данные поступают с датчика акселерометра, и я получаю около 50 точек данных в секунду.

График работает нормально, если у меня есть счетчик по оси X. Однако, когда я пытаюсь отобразить пройденные секунды (от первой точки данных до настоящего момента), единственное, что я получаю, это несколько крошечных точек данных в правом конце графика. Вот как это выглядит

Это код в методе onReceive, который выдает мне пустой график на рисунке (он вызывается каждый раз, когда происходит изменение датчика, ~ 50 раз в секунду)

    if (!timerStarted)
    {
        startExTime = System.currentTimeMillis(); //Starting the timer when first sensor change occurs
        timerStarted=true; //Never enter here again
    }


    if (!valueXnull)
    {
        endExTime = System.currentTimeMillis(); //Marking the seconds passed from the first sensor change until now
        seconds_passed = (int)((endExTime - startExTime)/1000.0);
        mSeries1.appendData(new DataPoint(seconds_passed,valueX),true,40);
    }

    if (!valueYnull)
    {
        endExTime = System.currentTimeMillis();
        seconds_passed = (int) ((endExTime - startExTime)/1000.0);
        mSeries2.appendData(new DataPoint(seconds_passed,valueY),true,40);
    }

    if (!valueZnull)
    {
        endExTime = System.currentTimeMillis();
        seconds_passed = (int) ((endExTime - startExTime)/1000.0);
        mSeries3.appendData(new DataPoint(seconds_passed,valueZ),true,40);
    }

Мой вопрос заключается в том, почему график работает правильно, когда я устанавливаю счетчик на оси X, но не работает, когда я устанавливаю секунды, что снова является целым числом?

...