【问题标题】:Conditional transitions in d3d3 中的条件转换
【发布时间】:2012-09-12 22:33:52
【问题描述】:

我正在 d3 中编写双层时间轴。第一层是按刻度轴的正常刻度,就像内置的那样。第二层有“更大规模”的上下文日期,比如年份。

例如,它可能看起来像这样

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
2008    2009                  2010

稍微拖一下之后会是这个样子

 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 2009                       2010              2011

我想要做的是让标签动画到它们的新位置,但前提是它们具有相同的标签。所以这里 2009 年和 2010 年会下滑。

问题是 d3 可能会将新的 2009 标签分配给之前的 2008 标签,从而破坏效果。这可以避免吗?

【问题讨论】:

    标签: javascript animation d3.js axis-labels timelinemarkers


    【解决方案1】:

    没有看到更多代码很难说,但听起来你需要key argument of the .data() operator。这允许您将数据连接到具有关键功能的元素,该功能可能基于现有元素和/或其现有数据。 this bar chart tutorial 的“对象恒常性”部分很好地解释了这是如何工作的。

    【讨论】:

    • 啊,这很酷。 d3 的出色设计再次让我大吃一惊。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多