Javascript d3 v4中的二维电刷
我在将D3V3转换为D3V4时遇到问题 我有以下代码:Javascript d3 v4中的二维电刷,javascript,node.js,d3.js,npm,Javascript,Node.js,D3.js,Npm,我在将D3V3转换为D3V4时遇到问题 我有以下代码: var brush = d3.svg.brush() .x(x) .y(y) .on("brushstart", brushstart) .on("brush", brushmove) .on("brushend", brushend); 但我不知道如何在v4中编写它 我试过了 var brush = d3.brush() .brushX(x) .b
var brush = d3.svg.brush()
.x(x)
.y(y)
.on("brushstart", brushstart)
.on("brush", brushmove)
.on("brushend", brushend);
但我不知道如何在v4中编写它
我试过了
var brush = d3.brush()
.brushX(x)
.brushY(y)
.on("brushstart", brushstart)
.on("brush", brushmove)
.on("brushend", brushend);
但它不起作用
注意:我正在使用软件包npm:“d3笔刷”:“^1.0.4”,这是正确的行为。阅读,你会注意到,
d3.brush()
本身就可以创建二维画笔:
d3.刷子()
创建新的二维笔刷
因此,在创建的笔刷上没有方法brush.brushX()
或brush.brushY()
。这些方法将创建一个一维笔刷
因此,您的代码最终将如下所示:
var brush = d3.brush()
.on("start", brushstart)
.on("brush", brushmove)
.on("end", brushend);
这是正确的行为。阅读,你会注意到,
d3.brush()
本身就可以创建二维画笔:
d3.刷子()
创建新的二维笔刷
因此,在创建的笔刷上没有方法brush.brushX()
或brush.brushY()
。这些方法将创建一个一维笔刷
因此,您的代码最终将如下所示:
var brush = d3.brush()
.on("start", brushstart)
.on("brush", brushmove)
.on("end", brushend);
但是我如何定义画笔中的比例(x,y:scaleLinear);(我尝试了您的解决方案,但收到了未捕获的错误:未知类型:brushstart)@MrGildarts笔刷的处理已从v3更改为v4。新版本的笔刷不再依赖于比例(有关详细信息,请参见)。至于未知类型错误:看看我最近的编辑!事件类型的名称也已更改:
“brushstart”
↦ <代码>“开始”,“刷头”
↦ <代码>“结束”。如果您对这些问题有任何问题,我建议您发布一个新问题。thnx,但我不确定它是否有效,这次我收到了错误d3。js:4100 Uncaught TypeError:无法读取undefined的属性'baseVal',他有一个带有cell.call(画笔)的pb;instruction@MrGildarts正如我所说,这些都是后续问题,应该作为另一个问题发布。在这样做时,请提供一个例子来说明您的问题,以便其他人能够提供帮助。但是我如何定义画笔中的刻度(x,y:scaleLinear);(我尝试了您的解决方案,但收到了未捕获的错误:未知类型:brushstart)@MrGildarts笔刷的处理已从v3更改为v4。新版本的笔刷不再依赖于比例(有关详细信息,请参见)。至于未知类型错误:看看我最近的编辑!事件类型的名称也已更改:“brushstart”
↦ <代码>“开始”,“刷头”
↦ <代码>“结束”。如果您对这些问题有任何问题,我建议您发布一个新问题。thnx,但我不确定它是否有效,这次我收到了错误d3。js:4100 Uncaught TypeError:无法读取undefined的属性'baseVal',他有一个带有cell.call(画笔)的pb;instruction@MrGildarts正如我所说,这些都是后续问题,应该作为另一个问题发布。在这样做的时候,请提供一个例子来说明您的问题,以便其他人能够提供帮助。