Javascript 使用时间刻度时出现D3.js错误(路径为NaN)
我正在使用d3.js制作热图。我的数据是一个对象,我从中提取了最大和最小年份。当我使用Javascript 使用时间刻度时出现D3.js错误(路径为NaN),javascript,d3.js,charts,Javascript,D3.js,Charts,我正在使用d3.js制作热图。我的数据是一个对象,我从中提取了最大和最小年份。当我使用d3.timeScale()初始化我的x轴时,我的所有年份都在x的同一位置渲染时出现错误(这是由于控制台上的以下错误造成的) d3.min.js:2错误:属性d:预期数字,“MNaN,6V0.5HNaNV6”。 (匿名)@d3.min.js:2 13d3.min.js:2错误:属性转换:预期数字为“translate(NaN,0)”。 这里显示了一些涉及制作时间刻度和轴的代码 const MIN_DATE
d3.timeScale()
初始化我的x轴时,我的所有年份都在x的同一位置渲染时出现错误(这是由于控制台上的以下错误造成的)
d3.min.js:2错误:属性d:预期数字,“MNaN,6V0.5HNaNV6”。
(匿名)@d3.min.js:2
13d3.min.js:2错误:属性转换:预期数字为“translate(NaN,0)”。
这里显示了一些涉及制作时间刻度和轴的代码
const MIN_DATE = new Date(MIN_YEAR, 0),
MAX_DATE = new Date(MAX_YEAR, 0);
var x = d3.scaleTime()
.domain([MIN_DATE, MAX_DATE])
.range(0, WIDTH);
var svg = d3.select('.chart')
.attr('width', WIDTH + margins.left + margins.right)
.attr('height', HEIGHT + margins.top + margins.bottom);
var g = svg.append('g')
.attr('transform', 'translate(' + margins.left + ',' + margins.top + ')');
g.append('g')
.attr('class', 'axis')
.attr('transform', 'translate(0,' + HEIGHT + ')')
.call(d3.axisBottom(x));
我想知道是什么导致了这个错误,我之前也做过类似的事情,但唯一的区别是我将日期作为字符串传递给我的日期构造函数,这里的值是年
{
year: 2012,
month: 3,
variance: 0.703
},
Im using the year in as my `MIN_YEAR`, which i recieve through an API call. The year is a number. `MIN_YEAR` and `MAX_YEAR` are being assigned correctly.
在D3音阶中,您必须将数组传递到
范围
。API很清楚:
如果指定了范围,则将刻度的范围设置为指定的值数组。(强调矿山)
因此,它应该是:
.range([0, WIDTH]);
在D3音阶中,您必须将数组传递到
范围
。API很清楚:
如果指定了范围,则将刻度的范围设置为指定的值数组。(强调矿山)
因此,它应该是:
.range([0, WIDTH]);
非常感谢。你要监督的事情之一是,我对这个问题太过深入,忽略了我错过了方括号谢谢。你倾向于监督的事情之一是,我对这个问题太过深入,忽略了我遗漏了方括号