【发布时间】:2018-11-27 14:50:45
【问题描述】:
我需要在 JavaFX 中构建 LineChart,它的 X 轴带有时间值(图表实时快速更新)。我以 Essembly (实时图表)为例并尝试在 X 轴上制作时间标签,但没有结果,因为值的定义方式不正确......我搜索了很多但没有成功的结果。请帮助查找带有 timeAxis 的折线图。实现——只有JavaFX
【问题讨论】:
标签: java javafx charts real-time
我需要在 JavaFX 中构建 LineChart,它的 X 轴带有时间值(图表实时快速更新)。我以 Essembly (实时图表)为例并尝试在 X 轴上制作时间标签,但没有结果,因为值的定义方式不正确......我搜索了很多但没有成功的结果。请帮助查找带有 timeAxis 的折线图。实现——只有JavaFX
【问题讨论】:
标签: java javafx charts real-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());”重新创建图表。
希望对你有帮助。
【讨论】: