私はGraphView
次のGitHub ライブラリから持っています。
のデモンストレーションを使用するとGraphView RealTimeGraph
、1 つの注意点を除いて、すべて正常に機能します。以前のすべてのデータに基づいて線を引いています。つまり、トレンドラインを見つけて 1 本の直線を引くことです。以前に追加されたデータから新しく追加されたデータに線を引く必要がある場合。
関連コード:
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
クラスです。
私の問題をさらに説明する画像を添付しました。