我正在尝试创建一个图表,其中yAxis旨在显示员工编号,因此它必须只显示整数。
但是我发现它并不那么容易,因为我已经尝试过 yAxis.setTickUnit(1)但是当值很小时它将无效(等等。最大值为3,它仍会显示0.5,1.5 ......,我只想要像1,2,3,4那样的刻度值。)
我怎么能实现这个目标?
根据@jewelsea的回答,我试过这个(在javafx 2.2 jdk7中)
class IntegerStringConverter extends StringConverter<Number>{
public IntegerStringConverter() {
}
@Override
public String toString(Number object) {
if(object.intValue()!=object.doubleValue())
return "";
return ""+(object.intValue());
}
@Override
public Number fromString(String string) {
Number val = Double.parseDouble(string);
return val.intValue();
}
}
结果是可以接受的。双值已经消失了,但仍然存在滴答声
答案 0 :(得分:2)
在轴上设置tickLabelFormatter。
答案 1 :(得分:0)
您可以使用构造函数设置NumberAxis(doublelowerBound,double upperBound,double tickUnit)的值。如果像我这样的人仍在寻找这个,这对于JaxaFX 8来说效果很好。
来源: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/NumberAxis.html