gpt4 book ai didi

javascript - d3条形图过渡y轴颠倒

转载 作者:行者123 更新时间:2023-12-02 17:35:37 25 4
gpt4 key购买 nike

我是 d3 的新手,我正在尝试绘制动画条形图(遵循此 example )。我能够生成图表,但我面临的问题是运动是颠倒的(从条形的高度开始向 x 轴构建条形)。我希望运动从 x 轴开始并向上!

这是我的代码

var y0 = d3.scale.linear().range([height, 0]);
var y1 = d3.scale.linear().range([height, 0]);
..
..

control.selectAll("rect")
.data(function(d) { return d.category; })
.enter().append("rect")
.attr("width", x1.rangeBand())
.attr("x", function(d) { return x1(d.name); })
.attr("height", 0)
.attr("y", function(d, i) { if(columnNum == 2 && i == 2) return y1(d.value); else return y0(d.value); })
.on('mouseover', tip.show)
.on('mouseout', tip.hide)
.style("fill", function(d) { return color(d.name); });

control.selectAll("rect")
.transition()
.delay(function(d, i) { return i * 100; })
.duration(1000)
.attr("height", function(d, i) { if(columnNum == 2 && i == 2) return y1(d.value); else return y0(d.value); })
.attr("y", function(d, i) { if(columnNum == 2 && i == 2) return height - y1(d.value); else return height - y0(d.value); });

columnNum 只是每组列数的指示符。

感谢您的帮助。

最佳答案

y初始化为x轴位置(即高度):

control.selectAll("rect")
.data(function(d) { return d.category; })
.enter().append("rect")
.attr("height", 0)
.attr("y", height);

关于javascript - d3条形图过渡y轴颠倒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22643864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com