Сохранить старые значения, обновить новые значения и показать анимацию в mpandroidchart - PullRequest
0 голосов
/ 20 июня 2019

У меня есть mpandroidchart, в котором я предоставляю новые значения из какого-то источника, в настоящее время в качестве демонстрации я предоставляю данные из генератора случайных чисел и запускаю его с помощью исполняемого файла.Работает нормально.Новое значение отображается в графике через определенное время. Но я хочу, чтобы он сохранил старые значения и построил новые значения и анимировал их справа налево.(пример - данные машин ЭКГ).

final Handler handler = new Handler();
        final Random random = new Random();
        final Integer delay = 2000;
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                //Do something after 20 seconds
                ChartValue =  10+random.nextInt(90);
                // calling the graph generator function
                generateGraph(ChartValue);
                handler.postDelayed(this, delay);
            }
        }, delay);

mpAndroidChart

 public void generateGraph(Integer val) {
    final Integer delay = 2000;
    ArrayList<Entry> yValues = new ArrayList<>();
    yValues.add(new Entry(0, val));
    LineDataSet set = new LineDataSet(yValues, "Data");
    set.setFillAlpha(110);
    set.setColor(R.color.red);
    set.setLineWidth(3f);
    set.setValueTextSize(10f);
    ArrayList<ILineDataSet> dataSets = new ArrayList<>();
    dataSets.add(set);
    LineData data = new LineData(dataSets);
    mChart.setData(data);
    mChart.notifyDataSetChanged();
    mChart.invalidate();

}

1 Ответ

1 голос
/ 24 июня 2019

Перед следующей строкой:

 mChart.notifyDataSetChanged();

Вам необходимо добавить следующую строку кода:

mChart.animateX(1000);

, где 1000 - время в миллисекодах.

...