我在d3中运行此代码以对表中的列进行排序。
var upSort = thead.selectAll("th")
.on("click", (function(d,i) {
d3.select(this).attr("id", "hello"),
rows.sort(function(a, b) {
return d3.ascending(a[i], b[i]);
})
}));
我有很多问题,但直接的一个是第0列是一个字符串而不是浮点数,我无法弄清楚如何或在何处将其转换为浮点数。我知道我需要使用parseInt或+。
我像这样加载所有日期:
d3.text("data.tsv",
function(dataset){
var data = d3.tsv.parseRows(dataset);
var table = d3.select("body")
.append("table"),
thead = table.append("thead"),
tbody = table.append("tbody");
a = data.shift();
var header = d3.select("thead").selectAll("th")
.data(a)
.enter()
.append("th")
.style("border", "1px black solid")
.style("padding", "5px")
.text(function(d) { return d; });
可以或者我应该在这里更改吗?
答案 0 :(得分:0)
使用parseFloat
rows.sort(function(a, b) {
return d3.ascending(parseFloat(a[i]), parseFloat(b[i]));
})