我在自定义XYChart上遇到y轴问题。 y轴是NumberAxis,我将tick标签格式化程序设置为自定义格式化程序。自动量程关闭。当我更改图表的上限并请求轴布局时,旧标签仍保留在图表上。通过调试日志记录,我可以看到正在调用自定义格式化程序方法,并且它们返回正确的字符串,但图表上的刻度标签不会更新。唯一更新的是之前不在轴上的那些。例如,如果y轴的范围是0到3,然后我将上限从3更改为5,则具有正确值的新标签将显示在索引4和5处。但是,0到3的标签即使自定义格式化程序现在为它们返回不同的字符串,也不要更新。
我尝试将自定义格式化程序排除在等式之外,当我更改y轴的上限时,只需将刻度标签填充更改为另一种颜色,并且我看到了相同的行为(预先存在的索引的标签有旧的颜色和新指数的标签都有新的颜色)。我希望我遗漏了一些明显的东西。任何帮助将不胜感激。否则,每当y轴标签需要更改时,我可能需要重新创建图表。
答案 0 :(得分:0)
根据我的发现,刻度标签本身基本上是不可变的。设置范围后,它只会添加和删除刻度,但不会更新它们。我所做的就是将上限设置为下限(有效地删除所有刻度),然后将上限设置回我想要的范围,这样就可以重新创建刻度。