MPAndroidChart:LineChart 中来自 LiveData 的多个 LineDataSet
MPAndroidChart: multiple LineDataSet from LiveData in a LineChart
查看其他示例,我看到图表需要一次所有数据集,一旦准备就绪就不能迭代添加它们。我错了吗?
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);
});
但现在我要观察多个东西,然后将多个东西的数据设置到图表中。
如何实现?
是的,您可以添加数据Dynamically/Real时间,请记住您还需要通知您的图表关于您的观察者中的数据,
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
});
查看来自 here
的更多信息
查看其他示例,我看到图表需要一次所有数据集,一旦准备就绪就不能迭代添加它们。我错了吗?
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);
});
但现在我要观察多个东西,然后将多个东西的数据设置到图表中。 如何实现?
是的,您可以添加数据Dynamically/Real时间,请记住您还需要通知您的图表关于您的观察者中的数据,
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
});
查看来自 here
的更多信息