2
我下面舉個例子d3.time秤回NaN的
,我似乎無法找出爲什麼X比例不工作,我(獲得的NaN我的CX值)。下面是我的代碼的摘錄:
var parse = d3.time.format("%Y").parse;
var data = [
{ year: "2008", number : 3},
{ year: "2009", number : 10},
{ year: "2010", number : 17},
{ year: "2011", number : 23},
{ year: "2012", number : 34},
{ year: "2013", number : 50}
];
for (var i = 0; i < data.length; i++) {
var d = data[i];
d.year = parse(d.year);
};
var yearScale = d3.time.scale()
.domain(d3.extent(data, function (d) { return d.year;}))
.range(50, window.innerWidth - 50);
var numberScale = d3.scale.linear()
.domain([0, d3.max(data, function (d) { return d.number;})])
.range([50, window.innerHeight - 50]);
svg.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr({
cx: function (d) { return yearScale(d.year); },
cy: function (d) { return window.innerHeight - numberScale(d.number)},
r: 4,
fill: "#fff",
stroke: "#78B446",
"stroke-width": 4
})
哇,這麼愚蠢的錯誤。一直盯着它。謝謝! – victormejia
我的技巧是'console.log(yearScale.range());'並且看到它只返回50而不是數組值。 –