Javascript 如何使用nvd3折线图在x轴上显示日期
当我将数字传递到x轴时,图形显示出来。但当我试图在x轴上传递日期时,它什么也不显示。 我已经给了x轴这样的坐标Javascript 如何使用nvd3折线图在x轴上显示日期,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,当我将数字传递到x轴时,图形显示出来。但当我试图在x轴上传递日期时,它什么也不显示。 我已经给了x轴这样的坐标 chart.xAxis .axisLabel('Date') .tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)); }); y轴的另一个问题是标签没有显示在任何图形中 是我代码的JSFIDLE。我的错误是给出了日期字符串而不是日期对象 因此,我拆分JSO
chart.xAxis
.axisLabel('Date')
.tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)); });
y轴的另一个问题是标签没有显示在任何图形中
是我代码的JSFIDLE。我的错误是给出了日期字符串而不是日期对象 因此,我拆分JSON并使用x轴标签的日期字符串创建日期对象。 如下图所示
new Date(dateStr)
现在它运行良好有两件事:
chart.xAxis
.x(function(d) { new Date(d.x) }) // this convert the data object
.axisLabel('Date')
.tickFormat(function(d) { return d3.time.format('%Y-%m-%d')(new Date(d)); }); // this convert the ticker
你看过这根线了吗?试用无效………作为
tickFormat
参数的函数将以d
的形式接收每个数据值的x
属性。然后必须使用x:newdate(dateStr)
生成数据;tickFormat
回调将在d
中接收以时间戳表示的该日期,然后您可以将其转换回日期对象并将其反馈给d3.time.format
。至少,这是我理解它并使代码正常工作的方式:)