nvd3 - 如何在 windows 调整大小时重绘轴

nvd3 - How to redraw axis on windows resize

我已经尝试解决这个问题一段时间了,但没有成功。

我需要能够调整图表大小并在 window 调整大小时更新比例尺(目前只有 X)。

我试过 nv.utils.windowResizewindow.on("resize", update); 但是上面的 none 有效。

生成我的坐标轴的函数每次都会被调用(console.log)但是由于某种原因图表中的坐标轴没有更新。

有什么建议吗?这是我第一次尝试使用 D3 和 NVD3,它有点复杂。

感谢您的耐心和支持,这是一个示例代码(使用angular js):http://codepen.io/NickHG/pen/rLWNea?editors=0010

看起来我设法解决了这个问题。

文档中一点也不清楚,但我是这样做的:

var width = window.innerWidth;
var xScale =  d3.time.scale().domain([date, date]).nice(d3.time.day).range([0, width])   

chart.xAxis.scale(xScale)
           .ticks(6)
           .tickFormat(d3.time.format("%H:%M"))  

nv.utils.windowResize(function() {
            width = window.innerWidth;
            chart.xAxis.range([0, width])
            chart.update()     
});