我很新D3.js和Javascript。對不起,如果問一些愚蠢的東西。 我只是通過D3的教程去了,現在可以繪製所有保存在我的CSV文件的數據。(由d3.csv
功能負載)如何使用d3在散點圖上逐一繪製/添加節點?
我很好奇的是它可以繪製點一個接一個地而不是一次地繪製它們?
var dataset;
d3.csv("testcase.csv", function(data) {
dataset = data;
var w = $(window).width();
var h = $(window).height();
var svg = d3.select("body")
.append("svg")
.attr({
width: w,
height: h,
});
function draw(data){
var circle = svg.selectAll("circle")
.data(data);
circle.enter().append("circle")
.attr({
"cx": data["x"],
"cy": data["y"],
"r": data["r"],
"fill": "rgb(0,0,0)",
});
}
draw(dataset[0]);
var index = 1;
setInterval(function() {
if(index<dataset.length){
draw(dataset[index]);
index++;
}
}, 1500);
這是我得到此時繪製點,在CSV文件保存它的點的座標,也是它的半徑。例如:
x,y,r 100,100,50 200,100,30 400,300,20 500,400,50 470,800,40 400,600,40
我試圖用setInterval
功能讓它積點一個接一個,但它並沒有什麼陰謀(包括應draw(dataset[0])
觸發第一個) 和當使用console.log
函數來檢查值是否正確時,看起來完全正常。 the output of console pad
什麼問題?感謝您的幫助:/
這似乎太神奇了!非常感謝你的回答!我會盡力瀏覽該文檔,稍後再嘗試! – Casmo
@Casmo這是迄今爲止您的預期目標的最佳解決方案。 –
謝謝,你給了我一個關於我正在研究的類似解決方案的想法。:) – MartijnK