Tôi đang cố tạo bảng được liên kết với tệp *.csv
bằng d3, nhưng tất cả những gì tôi nhận được là một trang web trống. Ngay cả với ví dụ Crimea tôi nhận được một trang trống.
Tôi sẽ rất biết ơn khi được chỉ dẫn hoặc thể hiện một ví dụ làm việc hoặc gợi ý về những gì tôi đang làm sai.Tạo bảng được liên kết với tệp csv
Trả lời
Nếu bạn đang hỏi về việc tạo ra một bảng HTML từ dữ liệu CSV, đây là những gì bạn muốn:
d3.csv("data.csv", function(data) {
// the columns you'd like to display
var columns = ["name", "age"];
var table = d3.select("#container").append("table"),
thead = table.append("thead"),
tbody = table.append("tbody");
// 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")
.text(function(d) { return d.value; });
});
Kiểm tra các working example. Nếu bạn đang sao chép mã đó, bạn sẽ cần cập nhật hàm tabulate()
để chọn bảng hiện tại hoặc vùng chứa khác (thay vì "#container"
), sau đó bạn có thể sử dụng nó với dữ liệu CSV như sau:
d3.csv("path/to/data.csv", function(data) {
tabulate(data, ["name", "age"]);
});
Rất thú vị. Cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn. –
Câu trả lời hay - cảm ơn! –
Ví dụ này hiện không hoạt động với tôi, các thành phần td trống. Bạn có thể vui lòng xem câu hỏi SO http: // stackoverflow này không.com/questions/23399462/d3-table-example-yields-empty-td-tags –
Có lỗi trong câu trả lời được đề xuất bởi @Shawn_allen.
Để giải quyết nó chỉ cần thay đổi dòng sau mã
return {column: column, value: row[column]};
của thành viên này một
return {column: column, value: row[columns.indexOf(column)]};
Thưởng thức!
Thông thường, tôi cần làm mới một bảng dữ liệu định kỳ. Đây là cách tôi cư một bảng với dữ liệu:
HTML:
<table id="t1">
<thead>
<tr><th>Name<th>Age
</thead>
</table>
JavaScript:
function tabulate(data, columns) {
var table = d3.select("#t1");
table.select('tbody').remove(); // remove any existing data
var tbody = table.append('tbody');
data.forEach(function(row) {
var tr = tbody.append('tr');
columns.forEach(function(column) {
tr.append('td').text(row[column]);
});
});
return table;
}
Ghi chú:
- Tôi muốn đặt tiêu đề bảng trong HTML, chứ không phải hơn là tạo chúng từ JavaScript.
- Tôi đã không đính kèm dữ liệu vào các hàng và ô của bảng (như @Shawn hiển thị trong câu trả lời của mình), bởi vì tôi không có nhu cầu về điều đó. Vì vậy, mã đơn giản hơn.
Tôi xin lỗi để thêm video này như là một câu trả lời mới nhưng tôi không có đủ điểm để thêm nó vào phần nhận xét. Chỉ cần một chút tinh chỉnh để kết thúc mã của @Shawn_Allen. Tôi tin rằng điều này cũng hoạt động.
//create a cell in each row for each column
var cells = rows.selectAll("td")
.data(function(row) {
return columns.map(function(column) {
return row[column];
});
})
.enter()
.append("td")
.text(function(d) { return d; });
});
Không cần phải tạo JSON đó bằng cột, giá trị.
- 1. django tải xuống tệp csv bằng liên kết
- 2. Tạo bảng trên máy chủ được liên kết?
- 3. cách tạo một ô liên kết bảng
- 4. Bản ghi được liên kết với bất kỳ bảng nào?
- 5. Tạo tệp CSV trong ASP.Net
- 6. cách tham gia bảng được liên kết với liên kết has_one
- 7. Làm cách nào để mã hóa siêu liên kết trong tệp được định dạng CSV?
- 8. Chế độ xem bảng có thể chỉnh sửa được liên kết với NSArrayController được liên kết với NSUserDefaultsController
- 9. Liên kết tệp php với tệp HTML?
- 10. Tạo tệp .csv trong C#
- 11. Xuất bảng Postgres sang tệp CSV với tiêu đề
- 12. TStatusBar với đáy liên kết bảng
- 13. Liên kết ActionBlocks được tạo động với BufferBlock
- 14. Tạo tệp csv bằng php
- 15. Tạo liên kết tải xuống tệp trên máy chủ tệp
- 16. Cố gắng tạo liên kết với NSTextField
- 17. Mở tệp với ứng dụng được liên kết
- 18. Tạo liên kết Đậm khi được nhấp với Jquery
- 19. Cách liên kết SiteMap với TreeView được tạo động?
- 20. Liên kết FFTW với tệp Matlab Mex
- 21. đường ray 3.1 tạo tệp CSV
- 22. Cách tạo tệp CSV riêng từ VBA?
- 23. tạo và sử dụng tệp .csv với UIActivityViewController
- 24. Quấn giá trị CSV được tạo bởi PHP fputcsv() với ""
- 25. Tạo liên kết tượng trưng với Java
- 26. Tạo và liên kết XSD với WADL
- 27. Tạo một DataTable từ Tệp CSV
- 28. Thừa kế bảng Ruby Datamapper với các liên kết
- 29. Liên kết một tệp ẩn danh (chưa được liên kết nhưng mở)
- 30. iOS - tệp được tạo cho lưu trữ không phải là kiến trúc được liên kết (i386)
Vui lòng chỉ cho chúng tôi một số mã sao chép sự cố. – Dogbert
Xem thêm ví dụ được đưa ra trong tài liệu D3 cho selection.data(): https://github.com/mbostock/d3/wiki/Selections#data – DGrady