我正在尝试创建一个简单的条形图,其中x轴的格式为日期。我已经定义了我的x,
var minDate = new Date(data[0][0]);
var maxDate = new Date(data[274][0]);
var x = d3.scaleTime()
.domain(minDate, maxDate).range([0, width]);
但是,当我尝试从我的图表中调用它时出现错误
chart.selectAll('.bar')
.data(data)
.enter().append('rect')
.attr('class', 'bar')
.attr('x', function(d){
return x(new Date(d[0]));
})
错误说
错误:属性x:预期长度,“NaN”。
不确定我做错了什么。日期对象是否仍然在D3 v4中使用scaleTime?
如果有人想看一下,这是数据集的链接 https://raw.githubusercontent.com/FreeCodeCamp/ProjectReferenceData/master/GDP-data.json
这是我正在处理此代码的codepen的链接
答案 0 :(得分:3)
在d3比例中,domain
将数组作为参数。因此,它应该是:
.domain([minDate, maxDate])