我有一个显示流媒体服务带宽的d3.js折线图。我知道.format方法,但它似乎只接受Python格式化,并且没有内置的聪明才能处理数据量的格式化。
在深入了解这一点时,我发现了几个人如何改进Python格式化工具的想法:
http://code.activestate.com/recipes/578321-human-readable-filememory-sizes/ https://pypi.python.org/pypi/byteformat 等
但是我不知道如何扩展d3.js以包含这些额外的选项。
如何让刻度和轴标签巧妙地在b / s,Kb / s和Mb / s等之间切换?
奖励是有办法在位和字节之间切换。
谢谢!
答案 0 :(得分:1)
您需要编写一个格式化程序来将原始数字转换为数据大小 - 有关一个实现,请参阅PHP format bytes translation to Javascript。
有了这样的格式化程序后,您可以使用.tickFormat
(docs)将其传递给轴,以便在勾选显示中使用它:
myAxis.tickFormat(dataSizeFormatter);