我正在使用 d3noob 的“添加表格”教程来获取大部分表格,但我无法弄清楚如何按照我想要的方式布置单元格。
我很确定我搞砸了第一个 thead.append 块,但如果我删除“.data(columns)”,我只会得到一个白页。
谢谢您的帮助!
var parseDate = d3.time.format("%d-%b-%y").parse;
// Get the data
d3.tsv("data/data2.tsv",function(error,data) {
data.forEach(function(d) {
d.date1 = parseDate(d.date);
d.close = +d.close;
d.open = +d.open;
d.diff = Math.round(( d.close - d.open ) * 100 ) / 100;
});
// Time to make the tables
function tabulate(data, columns) {
var table = d3.select("body").append("table").attr("class", "graph-key"),
thead = table.append("thead"),
tbody = table.append("tbody");
// What the hell?
thead.append("tr")
.selectAll("th")
.data(columns)
.enter()
.append("th")
.attr("colspan", "2")
.text("Stuff Here");
// Append the header row
thead.append("tr")
.selectAll("th")
.data(columns)
.enter()
.append("th")
.text(function (column) {
return column;
});
// Create a row for each object in the data
var rows = tbody.selectAll("tr")
.data(data)
.enter()
.append("tr");
// Create a cell in each row for each column
var cells = rows.selectAll("td")
.data(function(row) {
return columns.map(function(column) {
return {
column: column,
value: row[column]
};
});
})
.enter()
.append("td")
.html(function(d) {
return d.value;
});
return table;
}
// Render the table
var peopleTable = tabulate(data, ["date", "close", "open", "diff"]);
});