1

首先,不:这个问题不是关于线条的(还)丑陋的过渡(不过,我可能会为此打开另一个......)。

我在折线图中显示数据,用户可以选择时间范围。然后x轴相应地转变以适应改变的时间范围。在附图中,例如,时间范围是 1 周,然后我切换到 4 周。x 轴上的刻度数相应地从 7 增加到 28。

问题:如何防止 x 轴动画显示在 svg 容器之外?如您所见,额外的日期从左侧飞入,并且它们在远离容器的地方被动画化。

有任何想法吗?

现在,过渡可能以最简单的方式进行:

// format for x-axis
var xAxis = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .tickFormat(d3.time.format("%d.%m"))
    .ticks(d3.time.days, 1) 
    .tickSubdivide(0);

// Update x-axis
svg.select(".x")         
    .transition()
    .duration(500)
    .call(xAxis);

例子F

4

1 回答 1

2

如果您设置 CSS 规则,它可以工作

overflow:hidden

对于包含图表的部分页面。

于 2013-11-08T21:50:15.063 回答