gpt4 book ai didi

javascript - D3.js 比例 : Return the smaller of a constant and the value of a scale?

转载 作者:行者123 更新时间:2023-11-28 09:13:53 25 4
gpt4 key购买 nike

我有一个在条形图中使用的 D3 序数比例:

var y = d3.scale.ordinal().rangeRoundBands([0, height], .1);

我这样调用它来定位许多 g 元素,条形图中的每个条形一个元素:

var barEnter = bar.enter()
.insert("g", ".axis")
.attr("class", "bar")
.attr("transform", function(d, i) {
return "translate(0," + (y(d.State) + height) + ")";
});

当有很多条时,它的效果非常好,因为它们分布均匀。

enter image description here

但是,当只有几个条时,它可以工作,但看起来不太好:

enter image description here

有没有办法可以修改 y 函数或 transform 属性,以便在仅存在时更明智地设置 transform几个酒吧?我不完全理解序数尺度在幕后的作用。

最佳答案

为了他人的利益,我就是这样解决的。

我意识到当 y 尺度的域中只有几个元素时就会出现问题。所以我最终填充了比例域,如下所示:

if (ydomain.length < 12) {
for (var i = ydomain.length; i < 12; i++) {
ydomain.push('y_' + i);
}
}
y.domain(ydomain);

我怀疑这是最优雅的做事方式,但它确实有效。

关于javascript - D3.js 比例 : Return the smaller of a constant and the value of a scale?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15931824/

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