JSONを使用してカレンダーの視覚化にデータを読み込もうとしています。 瞬間、それはCSVファイルを使用して素晴らしい作品:d3 - CSVファイルの代わりにJSONデータを読み取る
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]; });
});
これは、次のCSVデータを読み込む:
date,total
2000-01-01,11
2000-01-02,13
.
.
.etc
私が代わりに次のようなJSONデータを読み取ることができる方法上の任意のポインタを: {"2000-01-01":19,"2000-01-02":11......etc}
私は以下を試しましたが、私のために働いていませんでした(datareadCal.phpは私にとってJSONを 吐き出します):
の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);
おかげ
こんにちはショーン:余談として
.... d3.jsそれはとしてあなたのJSONを設定することをお勧めだと言いますこれで私に戻ってきましたが、私はまだかなり失われています。 CSVファイルから読み取ったデータを使用してJSONを使用するd3カレンダーの例を変更することを検討していました。http://mbostock.github.com/d3/ex/calendar.html – eoin
こんにちはShawn、 (私は夜間学校でプログラミング以外の日の仕事をやっていて、自分自身でデータとプログラミングを教えています。)しかし、あなたは正しいのは、d3.entriesでJSONをフォーマットすることです。私の空のカレンダーフレームの年と自分のデータの年を一致させるのを忘れてしまったところです。つまり空のカレンダーは1999年、JSONデータは2000年でした。あなたの助けと忍耐をありがとう。 – eoin