我正在尝试获取Nadieh Bremer带有画笔代码的棒条形图,并将其从d3.js v3更新到v4。
我设法移植了新的scale()和axis()函数,但是我对如何更新brush()感到迷惑不解。我已经尝试遵循之前的此类解答,但无济于事-D3.js v3 to v4 Brush changes
有人可以协助我将此代码转换为v4吗?
Nadieh的v3源代码: Source Code Link
我的v4尝试:My Attempt
我已经进行了以下转换:
scale.linear() -> scaleLinear()
scale.ordinal().rangeBands() -> scaleBand().rangeRound()
d3.behavior.zoom() -> d3.zoom()
d3.svg.axis().scale(main_xScale) -> d3.axisBottom(main_xScale)
d3.svg.axis().scale(main_yScale) -> d3.axisLeft(main_yScale)
但是尝试更改d3.svg.brush()
会导致错误
brush = d3.svg.brush()
.y(mini_yScale)
.extent([mini_yScale(data[0].country), mini_yScale(data[brushExtent].country)])
.on("brush", brushmove)
//.on("brushend", brushend);
无法读取未定义的属性“画笔”