MPAndroidChart: несколько LineDataSet из LiveData в LineChart - PullRequest
0 голосов
/ 27 сентября 2018

Глядя на другие примеры, я вижу, что диаграмме нужны все наборы данных одновременно, и вы не можете добавлять их итеративно, когда они будут готовы.Я не прав?

ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
...
dataSets.add(d1);
dataSets.add(d2);
...
LineData data = new LineData(dataSets);
mChart.setData(data);

Моя проблема заключается в том, что я храню необходимые данные для нескольких наборов LineDataSet в базе данных и обращаюсь к ним через LiveData.Рисовать один LineDataSet было бы просто, потому что я написал бы логику этого внутри stuff.observe {}.

stuff.observe(this, goodStuff -> {
    Data data = generateData(goodStuff);
    mChart.setData(data);
});

Но теперь я должен наблюдать несколько вещей, а затем установить данные нескольких вещей вдиаграмма.Как этого добиться?

1 Ответ

0 голосов
/ 27 сентября 2018

Да, вы можете добавлять данные Динамически / в режиме реального времени , просто имейте в виду, что вам также необходимо уведомить вашу диаграмму о данных в вашем наблюдателе,

stuff.observe(this, goodStuff -> {
    Data data = generateData(goodStuff);
    mChart.setData(data);
    mChart.notifyDataSetChanged(); // let the chart know it's data changed
    mChart.invalidate(); // refresh chart
});

Проверьте дополнительную информацию по здесь

...