Android使用Graphview在x-aix上实时绘图

时间:2019-06-07 13:36:34

标签: android bluetooth real-time android-graphview linegraph

我目前正在通过蓝牙传感器获取一些数据,并想绘制一条实时线图,其中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);
}

0 个答案:

没有答案