0

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

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

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

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

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

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

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

4

1 回答 1

2

不看更多代码很难说,但听起来你需要operator的key参数.data()。这允许您将数据连接到具有关键功能的元素,该功能可能基于现有元素和/或其现有数据。在此条形图教程的“对象恒定性”部分中有一个很好的解释。

于 2012-09-13T00:22:28.640 回答