16
到終點
我有下面的代碼基於正弦函數圖表一行路徑:如何從起始點順利繪製路徑D3.js
var data = d3.range(40).map(function(i) {
return {x: i/39, y: (Math.sin(i/3) + 2)/4};
});
var margin = {top: 10, right: 10, bottom: 20, left: 40},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var x = d3.scale.linear()
.domain([0, 1])
.range([0, width]);
var y = d3.scale.linear()
.domain([0, 1])
.range([height, 0]);
var line = d3.svg.line()
.interpolate('linear')
.x(function(d){ return x(d.x) })
.y(function(d){ return y(d.y) });
var svg = d3.select("body").append("svg")
.datum(data)
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
svg.append("path")
.attr("class", "line")
.attr("d", line);
svg.selectAll('.point')
.data(data)
.enter().append("svg:circle")
.attr("cx", function(d, i){ return x(d.x)})
.attr("cy", function(d, i){ return y(d.y)})
.attr('r', 4);
我想要做的就是繪製它順利地從第一個節點到最後一個節點。我也希望在兩個連續的節點之間有一個平滑的過渡,而不是一次把整條線路放在一起。就像使用鉛筆連接點一樣。
任何幫助將非常感激。
對於爲什麼這個工作的視覺解釋,退房http://jakearchibald.com/2013/animated-line- drawing-svg/ – Ashitaka
這可能與d3.svg.area有關嗎?到目前爲止,我一直沒有成功。 – mike