0
我的目標非常簡單,我想創建一個使用CSV日期的時間線。然後,我想在此時間線的不同點上繪製圓圈。如何使用d3.time.scale設置日期範圍()
數據
,,Name,First names,s,r,Nat,born,starting point,starting date,arrival date,days,km,Assist,Support,Style,note,
1,1,KAGGE,Erling,,,Nor,1/15/1963,Berkner Island,11/18/1992,1/7/1993,50,appr. 1300,n,n,solo,first solo unassisted,
2,2,ARNESEN,Liv,f,,Nor,6/1/1953,Hercules Inlet,11/4/1994,12/24/1994,50,1130,n,n,solo,first woman unassisted,
我想用是日期[ '起點']
我認爲這個問題是在這裏:我不能確定是什麼域應該看起來像(以及如何查找最小和最大)
var x = d3.time.scale().domain(['11/18/1992', '10/25/2013']).range([0, w]);
我試圖使用CX
.attr('cx', function(d) {
return x(d['starting date'])
})
代碼
d3.csv("data.csv", function(data) {
var cd = data.filter(function(d) {
return (d.Style == "solo")
});
var de = cd.sort(function(a, b) {
return a.days - b.days
})
console.log(de)
var h = 400;
var w = 500;
var x = d3.time.scale().domain(['11/18/1992', '10/25/2013']).range([0, w]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.ticks(10)
var svg = d3.select("body").append("svg")
.attr("width", w)
.attr("height", h)
.append("g")
svg.append("g")
.attr("class", "x axis")
.call(xAxis);
svg.selectAll('.start')
.data(de)
.enter()
.append('circle')
.attr('cx', function(d) {
return x(d['starting date'])
})
.attr('cy', 10)
.attr('r', 5)
.style('fill', 'red')
})
謝謝,偉大工程! – user3821345