Tôi đang cố đọc dữ liệu vào hiển thị lịch của mình bằng JSON. Tại thời điểm nó hoạt động tuyệt vời sử dụng một tập tin CSV:d3 - đọc dữ liệu JSON thay vì tệp CSV
d3.csv("RSAtest.csv", function(csv) {
var data = d3.nest()
.key(function(d) { return d.date; })
.rollup(function(d) { return d[0].total; })
.map(csv);
rect.filter(function(d) { return d in data; })
.attr("class", function(d) { return "day q" + color(data[d]) +
"-9"; })
.select("title")
.text(function(d) { return d + ": " + data[d]; });
});
Nó đọc dữ liệu CSV sau:
date,total
2000-01-01,11
2000-01-02,13
.
.
.etc
Bất kỳ gợi ý về làm thế nào tôi có thể đọc dữ liệu JSON sau thay vì: {"2000-01-01":19,"2000-01-02":11......etc}
Tôi đã thử những điều sau nhưng nó không hoạt động đối với tôi (datareadCal.php spits ra JSON cho tôi):
d3.json("datareadCal.php", function(json) {
var data = d3.nest()
.key(function(d) { return d.Key; })
.rollup(function(d) { return d[0].Value; })
.map(json);
nhờ
Hi Shawn, nhờ nhận được trở lại với tôi về điều này nhưng tôi vẫn khá lạc. Tôi đang tìm cách thay đổi ví dụ lịch d3 từ việc sử dụng dữ liệu đọc từ tệp CSV để sử dụng JSON: http://mbostock.github.com/d3/ex/calendar.html – eoin
Xin chào Shawn, tôi mất một lúc để tìm ra (Tôi đang tung hứng một công việc không phải lập trình ban ngày với trường ban đêm và tự dạy mình dữ liệu & lập trình ..) nhưng bạn đã đúng là định dạng JSON với d3.entries. Điều đó làm việc nhưng khác trong mã của tôi, tôi quên để phù hợp với năm của khung lịch trống của tôi với năm dữ liệu của tôi. Nói cách khác lịch trống của tôi là cho năm 1999 và dữ liệu JSON của tôi là cho năm 2000. Cảm ơn tất cả sự giúp đỡ và kiên nhẫn của bạn . – eoin