我已经尝试了一段时间,但我不确定我需要搜索哪个关键字。无论如何,我有兴趣改变d3中数据的加载方式,这样我就可以重新排列图中的列。在R术语中,我正在寻找的是相当于改变因子水平,以便能够重新排列条形图中的列。
例如,在下面一个块的链接中,我想手动设置平行坐标的顺序。目前,它显示经济,气缸,从左到右。我想做一些像年,体重,位移等的事情。
答案 0 :(得分:3)
列的顺序由此代码段中的d3.keys(cars[0])
确定:
x.domain(dimensions = d3.keys(cars[0]).filter(function(d) {
return d != "name" && (y[d] = d3.scale.linear()
.domain(d3.extent(cars, function(p) {
return +p[d];
}))
.range([height, 0]));
}));
例如,这里是相同的代码,但使用...
d3.keys(cars[0]).sort()
...按字母顺序对数组进行排序:https://bl.ocks.org/anonymous/9fb7329fed0e2ea539bab5bc5a47a16c
因此,如果您想要特定订单,您只需传递所需的数组:
x.domain(dimensions = ["year", , "weight (lb)", "name", "displacement (cc)", "economy (mpg)", "cylinders", "power (hp)", "0-60 mph (s)"].filter(function(d) {
return d != "name" && (y[d] = d3.scale.linear()
.domain(d3.extent(cars, function(p) {
return +p[d];
}))
.range([height, 0]));
}));
以下是块:https://bl.ocks.org/anonymous/4f1798a5e658df7986f70effa030497c
答案 1 :(得分:0)
要完成此操作,您可以使用csv文件(即cars.csv)并在Excel电子表格中进行编辑。您可以根据需要转置列并将其复制回d3js函数。请看下面的示例(使用Excel完成):
name,year,weight (lb),displacement (cc),economy (mpg),cylinders,power (hp),0-60 mph (s)
等......我不想让它延伸太多......