我有一个在条形图中使用的 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) + ")";
});
当有许多条时,它的效果非常好,因为它们分布均匀。
但是,它可以工作,但当只有几个条时看起来不太好:
有没有办法我可以修改y
函数或transform
属性,以便transform
在只有几条时更明智地设置?我不完全理解序数比例在幕后做了什么。