【发布时间】:2014-02-13 14:42:32
【问题描述】:
我正在尝试通过创建表格来学习 D3。下面的代码是我到目前为止所拥有的。
假设我的 TSV 数据有 3 列,我只希望第一行(数据中的 3 个对象)=> 在我的标题部分 其余的(我数据的第 4 个对象)进入 tbody 部分
d3.text("test.tsv", function(text) {
var data = d3.tsv.parseRows(text);
var table = d3.select("body").append("table"),
thead = table.append("thead"),
tbody = table.append("tbody");
var hrows = thead.selectAll("tr")
.data(data)
.enter()
.append("tr");
var hcells = hrows.selectAll("th")
.data(function(row) {
return d3.range(Object.keys(row).length).map(function(column, i) {
return row[Object.keys(row)[i]];
});
})
.enter()
.append("th")
.text(function(d) { return d; });
// ============
var rows = tbody.selectAll("tr")
.data(data)
.enter()
.append("tr");
var cells = rows.selectAll("td")
.data(function(row) {
return d3.range(Object.keys(row).length).map(function(column, i) {
return row[Object.keys(row)[i]];
});
})
.enter()
.append("td")
.text(function(d) { return d; });
});
【问题讨论】:
-
您可以对
.data()使用不同的参数,即data[0]和data.slice(1)。
标签: javascript d3.js