我目前正在通过蓝牙传感器获取一些数据,并想绘制一条实时线图,其中y轴为数据,x轴为时间
我尝试遵循https://www.youtube.com/watch?v=knlbFXRHff8上的示例。但是图中的所有数据每秒钟刷新一次。我想将当前数据和时间添加到折线图的最后部分,并将先前的数据保留在该图上。以下是我目前的工作:
背景设置:
SimpleDateFormat mdformat = new SimpleDateFormat("mm:ss");
GraphView graph = (GraphView) findViewById(R.id.graph);
series = new LineGraphSeries<DataPoint>();
graph.addSeries(series);
Viewport viewport = graph.getViewport();
viewport.setXAxisBoundsManual(true);
viewport.setYAxisBoundsManual(true);
viewport.setMinY(0);
viewport.setMaxY(40);
viewport.setScrollable(true);
graph.getGridLabelRenderer().setLabelFormatter(new DefaultLabelFormatter(){
@Override
public String formatLabel (double value, boolean isValueX){
if(isValueX){
return mdformat.format(new Date((long)value));
}else {
return super.formatLabel(value, isValueX);
}
}
});
graph.getGridLabelRenderer().setHumanRounding(false);
graph.getGridLabelRenderer().setNumHorizontalLabels(5);
添加数据:这部分位于Android手机获取蓝牙数据的地方
private void addEntry() {
series.appendData(new DataPoint(new Date().getTime(), d), true, 100);
}