我需要分解类型函数,这样我就可以使用json变量而不是tsv;我已经在做data.forEach()来解析日期,这样就可以了。我无法弄清楚这是做什么的:
for (var i = 1, n = columns.length; i < n; ++i) d[columns[i]] = d[columns[i]]
/ 100;
在
function type(d, i, columns) {
d.date = parseDate(d.date);
for (var i = 1, n = columns.length; i < n; ++i) d[columns[i]] = d[columns[i]]
/ 100;
return d;
}
这是一个例子: Stacked bar
答案 0 :(得分:0)
此功能只是标准化值。
你可以看到每行的总和是100.所以,这个函数将每一行除以100,结果将在0和1之间。
在开始使用加载的tsv数据之前,此函数将扮演中间件角色,它将被应用。
因此,如果你想使用json,你可以跳过这个函数,并使json中的值减小100倍。或者你可以保留这个功能,只需从
改变 d3.tsv("data.tsv", type, function(error, data) {
到
d3.json("your-json-file-url.json", type, function(error, data) {