到目前爲止,我導入的唯一庫是d3,並且檢查了d3.js文件以確保函數在那裏。它是。.delay()不是d3中的函數
我正在試圖從D3和AngularJS書的數據可視化中做例子。下面的代碼[直接從書中,去掉註釋】題:
<svg width="800" height="500"></svg>
<script type="text/javascript">
var data = [];
setInterval(function(){
if (data.length < 8) {
data.push(Math.random());
}
else {
data = [];
}
draw();
}, 1000);
function draw() {
var svg = d3.select('svg');
var circles = svg.selectAll('circle').data(data);
circles
.attr('fill', 'orange');
circles.enter()
.append('circle')
.attr('fill', 'red')
.attr('r', 40)
.attr('cx', function(d, i) { return i*100 + 50; })
.attr('cy', 50);
circles
.style('stroke', 'black');
circles.exit()
.delay()
.remove();
}
我特別遇到的問題是在
circles
.exit()
.delay()
.remove();
它說,延遲功能「是不是功能「,即使它是。我嘗試將書中的代碼完全移植到一個全新的項目中,但它不起作用。 (如果這有所幫助,我正在使用chrome瀏覽器)。
感謝
退出函數返回的東西,你可以調用延遲? –
感謝您的回答!是的,它返回一個數組。當數組長度爲8時,該數組成爲一個圓對象數組,但在此之前,控制檯記錄的唯一有意義的信息是數組的長度 – LargeCrimsonFish
@ johnny5不,不。 '.exit()'返回一個d3 [選擇](https://github.com/mbostock/d3/wiki/Selections),但'.delay()'是d3 [transitions]的一個函數(https:// github.com/mbostock/d3/wiki/Transitions#delay) – Paulpro