首页 > 解决方案 > JavaFX TimeAxis(实时图表)

问题描述

我需要在 JavaFX 中构建 LineChart,它的 X 轴具有时间值(图表实时快速更新)。我以 Essembly (实时图表)为例并尝试在 X 轴上制作时间标签,但没有结果,因为值的定义方式不正确......我搜索了很多但没有成功的结果。请帮助查找带有 timeAxis 的折线图。实现——只有JavaFX

标签: javajavafxchartsreal-time

解决方案


前段时间我也有同样的事情要做。我不记得一切,我现在没有时间去想它,但我希望这会对你有所帮助。

public void createChart(){
        series.getData().clear();
        int l=(int)Math.round(this.position-(this.tailleSerie/this.zoom));


        for(int i=l;i<this.position;i++){
            this.calendar.setTimeInMillis((time-((this.tailleSerie-1)-i))*60000);

            series.getData().add(new XYChart.Data(String.valueOf(this.myFormatter.format(calendar.get(Calendar.HOUR_OF_DAY)))+":"+String.valueOf(myFormatter.format(calendar.get(Calendar.MINUTE))), data.get(this.time-((this.tailleSerie-1)-i))));

        }


        ((ValueAxis<Number>) this.graph.getYAxis()).setLowerBound(min-(5*(max-min))/100);
        ((ValueAxis<Number>) this.graph.getYAxis()).setUpperBound(max+(5*(max-min))/100);

        this.graph.getData().clear();
        this.graph.getData().add(series);




}

我只是每隔几秒钟使用“Platform.runLater(() ->createChart());”重新创建图表。

我希望这能帮到您。


推荐阅读