我正在尝试创建一个图表,其中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();
}
}
结果是可以接受的.双重值已经消失,但仍然存在滴答声.
最佳答案 在轴上设置
tickLabelFormatter.