如何使用 D3 平滑路径

How to smoothen a path using D3

这涉及:

因此,如果可能的话,我想平滑我的地图上的所有线条。最后我有一个 topojson 但我找不到任何可以 smooth a topojson path 的东西。

这是一个至少可以平滑 geojson 的解决方案:http://bl.ocks.org/hugolpz/d53d33af6ffb1366e187

下面是关于一行的内容:http://www.d3noob.org/2013/01/smoothing-out-lines-in-d3js.html

但我不知道如何更改它。这是一个小的 jsfiddle 示例,您可以在其中玩耍:jsfiddle.net/kwoxer/kpL1uyy2/6/

如果这就像一个名为 smooth 的简单命令,那就太棒了 =)

好吧,因为现在没有关于 SVG 的好的解决方案,我只是尽可能地用 CSS 解决了它。所以这可能不是完美的解决方案,但至少看起来比没有更好。

首先我们将路径设置得更平滑:

path {
    stroke-linejoin: round;
    stroke-miterlimit: 2;
    stroke-linecap: round;
}

现在假设我们有一个轮廓图,我们使用以下内容:

#outline path{
    fill: #eee;
    stroke: #eee;
    stroke-width: 0.5px;
}

这个看起来应该很光滑。这肯定取决于 SVG 路径本身的详细程度。