D3.js力布局约束时间序列的x轴坐标

D3.js力布局约束时间序列的x轴坐标,d3.js,tree,time-series,force-layout,D3.js,Tree,Time Series,Force Layout,我正在尝试创建一个图表,它表示事件的时间序列。事件可以具有新事件的效果。任何一个事件都可以有多个影响它的节点。这使数据成为图形 var events = { 0: {effects: [4, 5], year: 2000}, 1: {effects: [4, 5], year: 2001}, 2: {effects: [6, 7], year: 2004}, 3: {effects: [6, 7], year: 2005}, 4: {effects: [

我正在尝试创建一个图表,它表示事件的时间序列。事件可以具有新事件的效果。任何一个事件都可以有多个影响它的节点。这使数据成为图形

var events = { 
    0: {effects: [4, 5], year: 2000},
    1: {effects: [4, 5], year: 2001},
    2: {effects: [6, 7], year: 2004},
    3: {effects: [6, 7], year: 2005},
    4: {effects: [8], year: 2008},
    5: {effects: [9], year: 2008},
    6: {effects: [10], year: 2009},
    7: {effects: [9]: year: 2009},
    8: {effects: [], year: 2010},
    9: {effects: [], year: 2011},
   10: {effects: [], year: 2013},
   11: {effects: [], year: 2014}
}
我想通过绘制链接来显示从节点到其效果的关系。我还想沿着x轴在时间线上绘制节点,其中x轴上的距离是事件发生年份的函数

我尝试使用D3.js树布局,但遇到了一个节点有多个父节点的问题。我尝试使用force布局,但我不知道如何约束布局,以便x位置是事件发生年份的函数

如果有任何指向具有多个父级的树布局示例或沿水平轴的位置受到约束的强制布局示例的指针,我将不胜感激

提前谢谢

示例中,力布局仅设置y位置。您基本上忽略了不应该在
.tick()函数中设置的任何内容。请参阅