Javascript 马克赢了';t遵循d3中基数曲线路径的方向

Javascript 马克赢了';t遵循d3中基数曲线路径的方向,javascript,d3.js,Javascript,D3.js,我想用d3中的一条基数样条曲线和一个三角形作为标记端点来创建一条路径。但是,如果样条曲线为基数,则标记似乎不遵循路径的方向 下面是一个例子: var svg=d3.selectAll('svg.one'); var svg2=d3.selectAll('svg.two'); var svg3=d3.selectAll('svg.three') var coords=[[20,30],[140,60],[180,120]] append('svg:defs') .append('svg:mark

我想用d3中的一条基数样条曲线和一个三角形作为标记端点来创建一条路径。但是,如果样条曲线为基数,则标记似乎不遵循路径的方向

下面是一个例子:

var svg=d3.selectAll('svg.one');
var svg2=d3.selectAll('svg.two');
var svg3=d3.selectAll('svg.three')
var coords=[[20,30],[140,60],[180,120]]
append('svg:defs')
.append('svg:marker')
.attr('id','triangle\u marker')
.attr('markerHeight',5)
.attr('markerWidth',5)
.attr('markerUnits','strokeWidth')
.attr('orient'、'auto')
.attr('refX',0)
.attr('refY',0)
.attr('viewBox','-5-5100')
.append('svg:path')
.attr('d','M0,0M-5,-5L5,0L-5,5Z')
.attr('fill','00c0ff');
append('path')
.attr('d',d3.line()(坐标))
.style('填充','无')
.style('stroke-width','3.5px')
.style('stroke','#000')
.attr('marker-end','url(#triangle_marker');
svg2.append('path')
.attr('d',d3.line().curve(d3.curvebase)(坐标))
.style('填充','无')
.style('stroke-width','3.5px')
.style('stroke','#000')
.attr('marker-end','url(#triangle_marker'))
svg3.append('path')
.attr('d',d3.line().curve(d3.curveCardinal)(坐标))
.style('填充','无')
.style('stroke-width','3.5px')
.style('stroke','#000')
.attr('marker-end','url(#三角形标记)

法线
基线
基线

实际上可能是chrome中的一个bug。适用于Edge和IE11。从d3版本3到版本4的区别在于,它看起来像是M Bostock从二次曲线切换到了bezier曲线