d3退出和输入选择的条件转换

时间:2014-03-25 21:08:42

标签: d3.js

我有一个堆积的条形图,它在x轴上有时间,在y轴上有一个计数。我有大部分转换工作,但有一种情况我不确定该怎么做。

如果新数据是update选择的一部分,那么我知道增长条(因为它们已经存在)。

但是,如果数据是enter选择的一部分,则根据数据输入的位置,有两种可能的转换:

  1. 如果数据比当前“结束时间”更新,则应按照this well known tutorial从右侧滑入。
  2. 如果数据是新数据但比当前“结束时间”旧,则应形成新类别。
  3. 类似情况发生在exit选择中。

    我已经在处理上面的#2但是在实施#1时遇到了麻烦。特别是在#2的同时。在我看来,我需要检查新数据并查看其在图表上的位置,可能使用xScale。

    如何在同一个选择上运行不同的转换(在这种情况下进入或退出)?

    这是我可以想象的退出选择的一些伪代码:

    rects.exit(function () {
        if (d.timestamp < that.chartStartTime) {
           transitionOffLeftEdge();
        } else {
           transitionOffBottom();
        }
    )};
    

0 个答案:

没有答案