如何在 y 轴上将数据显示为 KB、MB、GB、TB
How to display data as KB, MB, GB, TB on y axis
我正在绘制一个图表,显示服务器上的流量。我想在 y 轴上将单位显示为 KB、MB 等。任何意见,我如何通过 d3 轴刻度做到这一点。
您可以使用
d3.tickFormat
函数:演示。
var bytesToString = function (bytes) {
// One way to write it, not the prettiest way to write it.
var fmt = d3.format('.0f');
if (bytes < 1024) {
return fmt(bytes) + 'B';
} else if (bytes < 1024 * 1024) {
return fmt(bytes / 1024) + 'kB';
} else if (bytes < 1024 * 1024 * 1024) {
return fmt(bytes / 1024 / 1024) + 'MB';
} else {
return fmt(bytes / 1024 / 1024 / 1024) + 'GB';
}
}
var xScale = d3.scale.log()
.domain([1, Math.pow(2, 40)])
.range([0, 480]);
var xAxis = d3.svg.axis()
.scale(xScale)
.orient('left')
.tickFormat(bytesToString)
.tickValues(d3.range(11).map(
function (x) { return Math.pow(2, 4 * x); }
));
不过,您还需要对tickValues
使用自己的值。
相关文章:
- 如何在node.js中只下载文件的前10 KB
- 如何验证表单控制数据大小不超过2.5 mb
- 如何在 y 轴上将数据显示为 KB、MB、GB、TB
- Blueimp 上传插件使用 1000 字节作为单个 kb 而不是 1024
- 当文件大小超过 1.5 MB 时,下载不会发生
- 是否可以使用 PHP 或 JavaScript 或任何其他编程语言在客户端计算机中存储大约 1 MB 的数据
- 页面大小(以 kb 为单位)与 Javascript
- 如何在 NodeJS 中从 14 GB 文件中读取前 1 MB 的文件
- 获取以mb或kb为单位的文件大小
- NetBeans没有't扫描”;“大”;(350 KB+)javascript文件
- Backbone的KnockBack视图模型.Collection似乎没有创建kb.CollectionObservab
- 500 内部服务器 上传超过 100 KB 的文件时出错
- 如何在JavaScript中将文件大小转换为mb
- 问题的背景视频静音在mb.YTPlayer jQuery插件
- 避免将0 KB文件附加到文件上传控件
- 数据Mb限制客户端应用程序
- XMLHttpRequest只发送最大130 kB大小的文件
- iPad浏览器崩溃的问题(在下载约7 MB的图像时)是否也适用于音频文件?
- 在php中以KB / MB / GB格式获取远程文件大小
- 是否可以从javascript对象中读取大小(kb/mb)