1 回答

TA贡献1893条经验 获得超10个赞
如果将路径的属性设置为橙色并降低不透明度,则所看到的行为的原因应该会变得更加明显:fill
SVG 路径的默认填充颜色为黑色 - 默认情况下,无论路径是否为闭合路径,都会填充路径。上面的橙色区域在您的示例中为黑色。因此,您看到的结果是由于第二条路径的填充覆盖了第一条路径在其大部分长度上的笔触。因此,只有部分行程可见。背面背景会混淆问题,但解决方案是将填充设置为:none
let canvas = d3.select('body');
let svg = canvas.append('svg')
.attr('width',1820)
.attr('height', 790)
.style('background-color', 'black')
var pathInfo = [
{
p: 'P',
data: [[0, 40], [50, 30], [100, 50], [200, 60], [300, 90]]
},
{
p:'p2',
data: [[0, 40], [50, 30], [100, 50], [200, 60], [350, 90]]
}
]
const curve = d3.line().curve(d3.curveNatural);
svg.selectAll('path')
.data(pathInfo)
.enter()
.append('path')
.attr('d', (d)=> curve(d.data)).attr('stroke', 'white').attr("fill","none");
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
添加回答
举报