バイト単位のデータがあります。この値をチャート上に人が読めるラベル (2.5KB、14MB など) として描画し、関数 (入力データ - 実際の値、出力 - 人間が読める文字列) を支援する必要があります。
私はこのように機能しましたが、もっとエレガントな実現が欲しいです
function tickFormatter(value, type) {
var suffix = (type == "bytes") ? ['B', 'KB', 'MB', 'GB'] : ['', 'K', 'M', 'G']
if(value > (1024 * 1024 * 1024 * 1024)) {
return (value / (1024 * 1024 * 1024 * 1024)).toFixed(2) + suffix[3]
} else if(value > (1024 * 1024 * 1024)) {
return (value / (1024 * 1024 * 1024)).toFixed(2) + suffix[2]
} else if (value > (1024 * 1024)) {
return (value / (1024 * 1024)).toFixed(2) + suffix[1]
} else {
return value.toFixed(2) + suffix[0]
}
}