如何更新已经显示的android绘图动态图

时间:2014-06-18 06:19:57

标签: androidplot

我想使用android plot在动态图中显示电池电量。无论何时处理DB [从DB获取数据并在图中显示],静态图表都能正常工作。但是对于实时动态图表面临的问题,即使用广播接收器能够获得电池电量变化,但同时我想更新/刷新显示给用户的现有图表而不重新创建活动。使用以下代码更新图表

if (plot != null) {
    plot.addListener(new PlotListener() {
    @Override
    public void onBeforeDraw(
        @SuppressWarnings("rawtypes") Plot arg0, Canvas arg1) {
    }
        @Override
    public void onAfterDraw(
        @SuppressWarnings("rawtypes") Plot arg0, Canvas arg1) {
        plot.clear();
        plot.redraw();
    }
    });
}

任何人都可以帮我解决这个问题或者一些例子来解决这个问题。

1 个答案:

答案 0 :(得分:0)

它应该像更新Series实例一样简单,以反映您想要显示的数据,然后调用plot.redraw()。如果您正在使用SimpleXYSeries的实例,那么您将拥有允许您通过索引以及标准出列操作修改任意元素的方法。每次发生这种情况时你都不想调用plot.clear()。

例如,如果你的目标是在最后n秒显示电池电量,你可以将每个新样本添加到系列的末尾并从头开始删除一个。 (反之亦然,如果你希望它向相反的方向滚动)