D3.js:如何调整和弦路径?

时间:2014-09-02 22:20:34

标签: d3.js

这里的和弦以一种奇怪的方式相交。是否有可调整的变量 和弦是如何绘制的?我在文档和示例中看到的唯一变量似乎只指定了绘制和弦的基本变量,例如从角度x到角度y。我尝试添加插值也类似于常规svg-lines的调整方式,但这并不起作用。

enter image description here

1 个答案:

答案 0 :(得分:1)

问题位于this file的第15行。通常,您想要做的是当段之间的角度很小时使用更好的控制点。我不知道这会有什么好的猜测,但我确实知道代码会去哪里。

第51-53行计算和弦的路径。 (0,0)是一个“控制点”(见this note)。当起始角和终止角彼此非常接近时,控制点倾向于将路径拉得远离图的中心(原点)。因此,计算更接近图表边缘的“0,0”的新值将有所帮助。可能你想要某种指数调整,所以它“只影响小角度”。使用类似于第38和39行的数学来找到合适的笛卡尔坐标。

如果你创造了一个可以重现问题的小提琴,我会看到我能带来什么。