[英]Change display values for JavaFX Axis
NumberAxis 和 CategoryAxis 用於繪制我的 AreaChart。
我想知道如何更改兩個軸的顯示值,因為我需要:
我無法在文檔中找到有關如何修改顯示值的任何信息: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/NumberAxis.Z569EZA880D52C67AFC35FDC70D5FCC69D
我能夠通過實現覆蓋 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());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.