Javascript 如何将固定垂直轴添加到focus+上下文缩放时间序列

Javascript 如何将固定垂直轴添加到focus+上下文缩放时间序列,javascript,d3.js,Javascript,D3.js,我正在开发一个基于两个情节组成的可视化。我想在两个图中添加一组垂直线,指示具体日期,如 var labels = [ ["Christmas 2011", 2011-12-25], ["Christmas 2012", 2012-12-25], ]; 具有垂直轴,该轴在底部的绘图中不移动,并随着顶部绘图中的缩放级别相应移动 我应该关注.append.line吗?但是我应该提供精确的坐标吗?要在特定点上添加一条线: var xval = x2(new Date('2008-12-

我正在开发一个基于两个情节组成的可视化。我想在两个图中添加一组垂直线,指示具体日期,如

var labels = [
    ["Christmas 2011", 2011-12-25],
    ["Christmas 2012", 2012-12-25],
];
具有垂直轴,该轴在底部的绘图中不移动,并随着顶部绘图中的缩放级别相应移动


我应该关注.append.line吗?但是我应该提供精确的坐标吗?

要在特定点上添加一条线:

var xval = x2(new Date('2008-12-25'));

focus.append("line")
     .attr({
            x1:xval,
            x2:xval,
            y1:0,
            y2:height,
            stroke:'black',
            'stroke-width':1
          });
这是使用您上面链接的代码中的x2和高度

要添加标签,请执行以下操作:

focus.append("text")
     .attr({
            x:xval,
            y:height/2,
            'font-size':'1em',
            fill:'red'
          })
     .text('Christmas 2008');

当您放大到特定日期范围时,这不起作用。我还不知道怎么做。我想一定有一个刷新事件我需要挂接进去或做些什么。

您需要做的就是将这些行附加到焦点和上下文中,使用相应的比例来确定坐标。