【发布时间】:2016-03-20 04:17:59
【问题描述】:
我正在 D3 中创建一个桑基图,使用路径作为粗壮的连接器来指示流程。然而,我发现那些比它们更长的路径开始表现得很奇怪。你可以在这里看到一个例子,我将路径分成几个部分:
蓝色和橙色重叠,因为蓝色(以及它后面的灰色)的弯曲方式与较细的路径不同,它们有一种“扭结”。
所有的线曲线都很好,除了这些大的。我用 SVG 做了一个简单的例子:
<SVG height=800 width=800>
<g transform="translate(40,400)">
<Path class="link1" d="M29,-129C104.5,-129 104.5,-202.125 180,-202.125" />
<Path class="link2" d="M29,-129C104.5,-129 104.5,-202.125 180,-202.125" />
<Path class="link3" d="M29,-129C104.5,-129 104.5,-202.125 180,-202.125" />
<Path class="normal" d="M29,-129 L104.5,-129" />
<Path class="normal" d="M104.5,-202 L180,-202.125" />
</g>
你可以在这里看到它:
https://jsfiddle.net/hanvyj/t91pbp4w/
我在谷歌上找不到任何东西,我希望有人会遇到这个问题并知道解决方法,或者有更多的 SVG 经验并且知道不会这样做的 'SVG:Path' 的好替代品?
【问题讨论】:
-
再看看你的小提琴,它需要内容。
-
糟糕,没有保存。现在更新了。谢谢。
-
而不是制作不同的路径笔画;可以使用填充属性制作一条路径吗?
-
这是一个与stroke-linecap 相关的问题,您必须重新绘制曲线才能修复它
-
这与linecap无关。这只是简单的几何图形。
标签: d3.js svg sankey-diagram