javascript - d3条形图在加载时从高度0增长到条形
问题描述
尝试为 d3 条形图设置动画,以便在加载时,所有条形将从 x 轴从高度 0 到其缩放高度优雅地“增长”更高。相反,我的条形图只是从左上角“猛击”到 svg。 请参阅我的 observableHq 演示。
我的条形图按以下方式绘制:
svg
.selectAll("rect")
.attr("height", 0)
.attr("y", (d) => y(0))
.data(data)
.join("rect")
.transition()
.duration(500)
.attr("x", (d, i) => x(i))
.attr("y", (d) => y(d.value))
.attr("height", (d) => y(0) - y(d.value))
.attr("width", x.bandwidth())
.delay((d, i) => i * 10);
我希望第 2 和第 3 行作为条形图的起点,然后 transition() 将允许它在 .duration(500) 行之后转换到属性。但这似乎不起作用。我错过了什么?谢谢。
解决方案
尝试:
svg
.selectAll("rect")
.data(data)
.join("rect")
.attr("height", 0)
.attr("y", (d) => y(0))
.attr("x", (d, i) => x(i))
.attr("width", x.bandwidth())
.transition()
.duration(500)
.attr("y", (d) => y(d.value))
.attr("height", (d) => y(0) - y(d.value));
推荐阅读
- java - JavaFX 无法设置 Label 或 Text 的文本
- r - 如何 abs() 小提琴图的密度轴上的刻度?
- scala - scala foreach 循环返回列表
- go - BigQuery golang 客户端:使用哪个上下文?
- php - 在组合项目中实例化类的问题
- c++ - 可以通过 const 引用返回默认参数的值吗?
- sql - SQL - 在没有执行结束的情况下计算步骤的时间
- vb6 - VB6计算负数时的奇怪行为Mod a number,它是2的幂
- mysql - 我收到类似“日期时间值不正确:'-1'”的错误
- flutter - What does 'new' mean in Flutter?