我正在使用d3.scaleTime
将具有固定直径/半径的图标放在一行上。除日期彼此接近而导致不必要的重叠外,这种方法效果很好。
在这种情况下,我希望图标“放松”而不是触摸。
我的代码相当复杂,包括动画等。因此我在这里提出了问题:
这些是我的尝试:
我查看了d3-force
来防止冲突,但是我不确定如何将这种方法与现有的时标合并。这会有所帮助吗? http://jsbin.com/gist/fee5ce57c3fc3e94c3332577d1415df4但是,可能会出现图标不再与水平直线对齐的情况,这是一个缺点,因为我不希望它们垂直分布。
我还考虑过计算重叠,然后手动调整数据以免发生重叠。但是,这似乎有点复杂,因为我必须以某种方式递归地为每个图标找到最佳位置。
插值可以帮助我吗?我以为必须有类似“捕捉到网格”之类的东西,但是然后两个图标可以对齐到同一位置,不是吗?
解决这个问题最有意义的是d3概念?