JavaFX XYChart数字轴

JavaFX XYChart数字轴,javafx,Javafx,自定义XYChart上的y轴有问题。y轴是数字轴,我将记号标签格式化程序设置为自定义格式化程序。自动测距功能关闭。当我更改图表的上限并请求轴布局时,旧标签仍保留在图表上。通过调试日志记录,我可以看到正在调用自定义格式化程序方法,并且它们返回正确的字符串,但是图表上的记号标签不会更新。唯一可以更新的是以前不在轴上的。例如,如果y轴的范围为0到3,然后我将上限从3更改为5,则具有正确值的新标签将显示在索引4和5处。但是,0到3的标签不会更新,即使自定义格式设置程序现在为它们返回不同的字符串 我尝试将

自定义XYChart上的y轴有问题。y轴是数字轴,我将记号标签格式化程序设置为自定义格式化程序。自动测距功能关闭。当我更改图表的上限并请求轴布局时,旧标签仍保留在图表上。通过调试日志记录,我可以看到正在调用自定义格式化程序方法,并且它们返回正确的字符串,但是图表上的记号标签不会更新。唯一可以更新的是以前不在轴上的。例如,如果y轴的范围为0到3,然后我将上限从3更改为5,则具有正确值的新标签将显示在索引4和5处。但是,0到3的标签不会更新,即使自定义格式设置程序现在为它们返回不同的字符串


我尝试将自定义格式化程序从公式中去掉,并在更改y轴的上限时简单地将记号标签填充更改为另一种颜色,我看到了相同的行为(预先存在的索引的标签具有旧颜色,而新索引的标签具有新颜色)。我希望我错过了一些明显的东西。任何帮助都将不胜感激。否则,每当y轴标签需要更改时,我可能需要重新创建图表。

根据我的发现,刻度标签本身基本上是不可变的。一旦设置了范围,它只会添加和删除记号,而不会更新记号。我所做的是将上限设置为下限(有效地删除所有刻度),然后将上限设置回我想要的范围,以便重新创建刻度