首页 > 解决方案 > 实时绘制折线图

问题描述

我需要实时对图表进行 taracing,绘制的数据是记录在 android 数据库中的值,我想恢复这些数据以实时将其绘制在 Line ghraph 中,也就是说,我收到的每一刻它们将在图表中处理的数据是我用于实时绘图的代码

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mHandler = new Handler();
    setContentView(R.layout.activity_graphe);
    lineChart = findViewById(R.id.graph);
    dataset.clear();
    lineChart.clear();
    // mHandler.post(runnableCode);
    h = new Helper(this);
    db = h.getWritableDatabase();
    // h.AddContact(c.getId(),c.getNom());
    linedataset.setLineWidth(4);
    linedataset.setLabel("dataset1");
    autoUpdate = new Timer();
    autoUpdate.schedule(new TimerTask() {
        public void run() {
            runOnUiThread(new Runnable() {
                public void run() {
                    linedataset.setValues(getDatavalues());
                    dataset.add(linedataset);
                    linedata = new LineData(dataset);
                    lineChart.setData(linedata);
                    lineChart.invalidate();
                }
            });
        }
    }, 0, 1000); // updates each 2 sec


}

不幸的是,这在正确的方向上不起作用,因为绘制的每个值都会重复几次,例如值 60 将被绘制 3 次,然后它将传递到下一个值,直到应用程序停止。是否缺少某些内容或是否有其他方法可以进行实时同步?

标签: android

解决方案


推荐阅读