D3.js y轴的动态数据/带宽标签

时间:2013-05-31 09:58:08

标签: javascript d3.js

我有一个显示流媒体服务带宽的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等之间切换?

奖励是有办法在位和字节之间切换。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要编写一个格式化程序来将原始数字转换为数据大小 - 有关一个实现,请参阅PHP format bytes translation to Javascript

有了这样的格式化程序后,您可以使用.tickFormatdocs)将其传递给轴,以便在勾选显示中使用它:

myAxis.tickFormat(dataSizeFormatter);