我正在試圖用classical example這樣的圓圈來實現時間序列移位效果。 但是,看看jsFiddle,看到我無法實現轉移效果。d3.js像移位效果一樣的動態時間系列
相反,數據集的索引似乎有問題。看起來索引卡住了(應該是之前的)值!?
任何人都可以幫忙,請教?
這是jsFiddle中的js代碼。
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<svg width="800" height="500"></svg>
<script type="text/javascript">
var x = d3.scale.linear()
.domain([0, 1])
.range([0, 800]);
var data = [];
setInterval(function(){
if (data.length < 3) {
data.push({value:Math.random(), date:new Date()});
}
else {
data.shift();
data.push({value:Math.random(), date:new Date()});
}
draw();
}, 1000);
function draw() {
var svg = d3.select('svg');
var circles = svg.selectAll('circle')
.data(data, function(d, i) { return d.value; });
circles.attr('fill', 'orange');
circles.exit()
.attr('fill', 'black')
.transition()
.duration(500)
.remove();
circles.enter()
.append('circle')
.attr('fill', 'red')
.attr('r', 40)
.attr('cx', function(d, i) {
console.log("i: " + i);
return i*100 + 50;
})
.attr('cy', 50)
.transition()
.duration(500)
.attr('fill', 'blue');
circles.style('stroke', 'black');
}
</script>
</body>
只是簡單地看着小提琴 - 我試圖實現的是,我有一排的圓圈後,他們左移,最左的一個消失,一個添加的是從右移動。 – honzajde
好的,我已經更新了jsfiddle。勒米知道這是否更接近你要找的東西? – wpercy