Runnable中的GraphView绘制一条奇异线

时间:2014-04-22 14:29:22

标签: android runnable android-graphview

我从以下GitHub library获得GraphView

当我使用他们GraphView RealTimeGraph的演示时,除了一个警告之外,我得到了所有工作正常和花花公子。它基于以前的所有数据绘制一条线。即它正在寻找一条趋势线并绘制一条直线;当它应该从先前附加的数据中绘制一条线到新附加的数据。

相关代码:

public void pauseGraphUI() {
    mHandler.removeCallbacks(mTimer1);
    mHandler.removeCallbacks(mTimer2);
}

public void updateGraphUI() {
    mTimer1 = new Runnable() {
        @Override
        public void run() {
            globalData.getGraphViewSeries().resetData(
                    new GraphViewData[] {
                            new GraphViewData(1, getRandom()),
                            new GraphViewData(2, getRandom()),
                            new GraphViewData(3, getRandom()),
                            new GraphViewData(4, getRandom()),
                            new GraphViewData(5, getRandom()),
                            new GraphViewData(6, getRandom()) });
            mHandler.postDelayed(this, 500);
        }
    };
    mHandler.postDelayed(mTimer1, 500);

    mTimer2 = new Runnable() {
        @Override
        public void run() {
            globalData
                    .setGraph2LastXValue(globalData.getGraph2LastXValue() + 1);
            globalData.getGraphViewSeries().appendData(
                    new GraphViewData(globalData.getGraph2LastXValue(),
                            getRandom()), true, 10);
            mHandler.postDelayed(this, 500);
        }
    };
    mHandler.postDelayed(mTimer2, 1000);
}

GlobalData只是一个Singleton类,它存储了我想要的一些信息。

我附上了一张描述我的问题的图片。

graphing a single line after 800 passes...

1 个答案:

答案 0 :(得分:0)

我解决了这个问题;我忘记了实施

graphView.setViewPort(3, 6);

setViewPort将窗口限制为特定数量的数据。