【发布时间】:2018-03-28 12:41:08
【问题描述】:
我正在尝试使用 d3js 创建一些条形图。我使用相同的 js 作为模板并传递不同的数据来显示图表。如果它们少于 10 个数据点,则 x 轴标签看起来不错。但如果它们的数据点超过 10 个,则 x 轴标签会重叠和聚集。所以我试图找出一种方法,我可以每 4 个滴答声跳过一次。下面是代码。当超过 9 个数据点时,它根本不显示任何刻度。
` var ticks = d3.selectAll(".tick text");
function tickLabels(dataLength, d) {
if (dataLength < 9) return "";
return ticks.attr("class", function(d,i){
if(i%3 != 0) d3.select(this).remove();
})
}
var xAxis = d3.axisBottom().scale(x)
.ticks()
.tickFormat(function(d,i) { return tickLabels(all.length, d) })
`
【问题讨论】: