Анимировать график путем построения каждой точки на графике. - PullRequest
0 голосов
/ 31 мая 2018

Я использую GraphView Мне необходимо отображать точки графика одновременно в режиме реального времени.Но проблема в том, что он отображает график как полностью.Но мое требование заключается в том, что график должен отображаться одновременно.

В соответствии с предложенным , я изменил в соответствии с моим требованием, но он не отображается как график графика в реальном времени.

public class MainActivity extends AppCompatActivity {
    private LineGraphSeries<DataPoint> mSeries1;
    private Runnable mTimer1;
    private final Handler mHandler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GraphView graph = (GraphView) findViewById(R.id.graph);
        mSeries1 = new LineGraphSeries<>(generateData());
        graph.addSeries(mSeries1);
    }

    private DataPoint[] generateData() {
       DataPoint[] dataPoint= new DataPoint[]{
               new DataPoint(0, 1),
               new DataPoint(1, 5),
               new DataPoint(2, 4),
               new DataPoint(3, 6),
               new DataPoint(4, 8),
               new DataPoint(5, 10),
       };
       return dataPoint;
    }

    @Override
    protected void onResume() {
        super.onResume();
        mTimer1 = new Runnable() {
            @Override
            public void run() {
                mSeries1.resetData(generateData());
                mHandler.postDelayed(this, 300);
            }
        };
        mHandler.postDelayed(mTimer1, 300);
    }
    @Override
    public void onPause() {
        mHandler.removeCallbacks(mTimer1);
        super.onPause();
    }
}

в Xml:

<com.jjoe64.graphview.GraphView
    android:layout_width="match_parent"
    android:layout_height="200dip"
    android:id="@+id/graph" />

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

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

appendData

public void appendData(E dataPoint,
                       boolean scrollToEnd,
                       int maxDataPoints)

Параметры:

dataPoint - значения должны быть в правильном порядке!Значение х должно быть ASC.Сначала самое низкое значение x и, по крайней мере, самое высокое значение x.

scrollToEnd - true => Просмотр графика будет прокручиваться до конца (maxX)

maxDataPoints - при достижении максимального количества данных самое старое значение данных будет потеряно во избежание утечек памяти

0 голосов
/ 31 мая 2018

https://github.com/PhilJay/MPAndroidChart

Используйте эту библиотеку для графиков.Есть анимация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...