Javascript 在d3中渲染铁路数据时出现奇怪的填充效果

Javascript 在d3中渲染铁路数据时出现奇怪的填充效果,javascript,css,d3.js,geojson,cartography,Javascript,Css,D3.js,Geojson,Cartography,使用d3呈现铁路数据的GeoJSON,我得到了奇怪的结果。该文件非常大,38M,因此我包括一个文件: 这是我的密码: 当然,最重要的是底部的最后一行 我看到了形状,但线条画得不好。相反,在线段的点之间存在某种填充。以下是一个屏幕截图: 有人知道发生了什么事吗?我将数据转换为topojson,看看这是否可以解决我的问题,但我得到了相同的结果。这可能是CSS问题吗?可能是样式/CSS问题 尝试将路径上的填充设置为“无” path { fill: none; stroke: blac

使用d3呈现铁路数据的GeoJSON,我得到了奇怪的结果。该文件非常大,38M,因此我包括一个文件:

这是我的密码:

当然,最重要的是底部的最后一行

我看到了形状,但线条画得不好。相反,在线段的点之间存在某种填充。以下是一个屏幕截图:


有人知道发生了什么事吗?我将数据转换为topojson,看看这是否可以解决我的问题,但我得到了相同的结果。这可能是CSS问题吗?

可能是样式/CSS问题

尝试将路径上的填充设置为“无”

path {
    fill: none;
    stroke: black;
    stroke-linejoin: round;
    stroke-width: 1.0;
}

或者类似的。您可能还想向路径中添加一个类,以便css选择器可以特定于铁路路径(不确定“rail line”类是否是用于此目的)。

即使进行了此更改,路径仍可能是闭合循环而没有填充。编写svg时出现了一些问题。Replace:非常感谢!我将你给我的风格添加到.rail-line类中,就这样做了。哇!这么简单。谢谢。为了纠正@Lokno的评论,您观察到的填充模式与如何填充开放路径的规范相匹配:我也遇到了同样的问题,与Sankey图表及其路径有关。浏览器呈现的行为是正确的,但svg标准本身在这里是违反直觉的。为什么默认情况下必须填充开放式路径?但提出这个问题是件好事+对问题和答案都投赞成票。