0

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

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

4

1 回答 1

0

根据我的发现,刻度标签本身基本上是不可变的。一旦设置了范围,它只会添加和删除刻度,但不会更新它们。我为克服这个问题所做的是将上限设置为下限(有效地删除所有刻度),然后将上限设置回我想要的范围,这样它就会重新创建刻度。

于 2013-09-05T17:00:13.767 回答