更改 JavaFX 轴的显示值

Change display values for JavaFX Axis

NumberAxis 和 CategoryAxis 用于绘制我的 AreaChart。

我想知道如何更改两个轴的显示值,因为我需要:

我无法在文档中找到有关如何修改显示值的任何信息:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/NumberAxis.html

我能够通过实现覆盖 toString:

setTickLabelFormatter 来解决这个问题
    ratesAxis.setTickLabelFormatter(new StringConverter<>() {
        @Override
        public String toString(Number t) {
            return String.valueOf(ReadFile.humanReadableByteCountSI(t));
        }

        @Override
        public Number fromString(String string) {
            return 1;
        }
    });

来自另一个 class:

static String humanReadableByteCountSI(Number bytesString) {
    int bytes = (int) bytesString.intValue();
    if (-1000 < bytes && bytes < 1000) {
        return bytes + " B";
    }
    CharacterIterator ci = new StringCharacterIterator("kMGTPE");
    while (bytes <= -999_950 || bytes >= 999_950) {
        bytes /= 1000;
        ci.next();
    }
    return String.format("%.1f %cB", bytes / 1000.0, ci.current());
}

结果: