如何在d3时间尺度上实现不重叠的圆圈/图标?

时间:2018-10-24 11:49:29

标签: d3.js

我正在使用d3.scaleTime将具有固定直径/半径的图标放在一行上。除日期彼此接近而导致不必要的重叠外,这种方法效果很好。

在这种情况下,我希望图标“放松”而不是触摸。

我的代码相当复杂,包括动画等。因此我在这里提出了问题:

enter image description here

这些是我的尝试:

  • 我查看了d3-force来防止冲突,但是我不确定如何将这种方法与现有的时标合并。这会有所帮助吗? http://jsbin.com/gist/fee5ce57c3fc3e94c3332577d1415df4但是,可能会出现图标不再与水平直线对齐的情况,这是一个缺点,因为我不希望它们垂直分布。

  • 我还考虑过计算重叠,然后手动调整数据以免发生重叠。但是,这似乎有点复杂,因为我必须以某种方式递归地为每个图标找到最佳位置。

  • 插值可以帮助我吗?我以为必须有类似“捕捉到网格”之类的东西,但是然后两个图标可以对齐到同一位置,不是吗?

解决这个问题最有意义的是d3概念?

0 个答案:

没有答案