Tôi đang làm việc để tạo Sơ đồ trang web từ tệp csv. Dữ liệu trong tệp csv là phân cấp, do đó tôi đã sử dụng d3.nest(). Tuy nhiên, kết quả là JSON ở dạng {key: "Hoa Kỳ", các giá trị: [...]} Sơ đồ trang có thể thu phóng ví dụ: (http://mbostock.github.io/d3/talk/20111018/treemap.html) yêu cầu phân cấp là {name: "Hoa Kỳ", trẻ em: [ ...]}. Tôi đã thử thay thế tên và trẻ em thành khóa và giá trị trong ví dụ, nhưng nó không hoạt động. Nếu có ai đó đã xem xét sử dụng khóa và giá trị trên treemap có thể thu phóng, vui lòng trợ giúp. Tôi mới đến D3 và tôi không biết liệu d.children có nghĩa là cấu trúc hoặc giá trị từ dữ liệu.d3.nest() chuyển đổi khóa và giá trị thành tên và trẻ em
Đây là mã để chuyển đổi các lục địa, khu vực và quốc gia trên thế giới từ CSV sang phân cấp bằng cách sử dụng d3.
$ d3.csv("../Data/WorldPopulation.csv", function (pop) { var treeData= { "key": "World", "values": d3.nest() .key(function (d) { return d.Major_Region; }) .key(function (d) { return d.Region; }) .key(function (d) { return d.Country; }) .entries(pop) };
Một vài dòng đầu tiên của kết quả là:
`[{"key":"AFRICA","values":[{"key":"Eastern Africa","values"
[{"key":"Burundi","values":[.........`
tôi không thể sử dụng các biểu đồ dạng cây Zoomable vì nó đòi hỏi tên và trẻ em nhãn trong json chứ không phải là quan trọng và giá trị.
Có tài sản có tên "kích thước" trong đối tượng được chuyển đổi của bạn không? Vui lòng kiểm tra cấu trúc dữ liệu tại http://mbostock.github.io/d3/talk/20111018/flare.json và bạn nên đăng toàn bộ mã json của mình tại đây. – Anderson