如何使用 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 路径本身的详细程度。
这涉及:
因此,如果可能的话,我想平滑我的地图上的所有线条。最后我有一个 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 路径本身的详细程度。