我需要在JavaFX中构建LineChart,它具有带有时间值的X轴(实时快速更新图表)。我以Essembly(实时图表)为例,尝试在X轴中创建时间标签,但是没有结果,因为值定义不正确...我搜索了很多但没有成功的结果。请帮助找到带有timeAxis的折线图。实现-仅JavaFX
答案 0 :(得分:0)
前段时间,我有同样的事情要做。 我不记得所有的事情,并且我现在没有时间考虑它,但我希望这会对您有所帮助。
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());”重新创建图表。
我希望这会对您有所帮助。