我创建了一个简单的条形图,其中yAxis是一些任意编号,xAxis是从1月17日到1月18日的timeScale。由于一些奇怪的原因,Chrome没有显示第一个月(1月17日)。对于Firefox,我有预期的结果。
我尝试过使用[utcMonth
||的组合timeMonth
]和[utcFormat
|| monthFormat
。每个都有不同的结果。
我想念chrome和firefox之间的东西吗?
JS
x = d3.scaleTime()
.domain([new Date("2017-1-1"), new Date("2018-1-1")])
.range([0, this.width - this.margin.left - this.margin.right - 40]);
drawXAxis() {
this.xAxis = this.g.append("g")
.classed("bar-x-axis", true)
.call(d3.axisBottom(this.x)
.ticks(d3.utcMonth.every(1))
.tickFormat(d3.utcFormat("%b-%y"))
);
}
CSS
.bar-x-axis text{
text-anchor: middle;
}
.bar-x-axis path {
display: none;
}
附件是两个浏览器的示例注意:Chrome不显示Jan17
没关系,认为这可能是一个潜在的错误
通过将new Date("2017-1-1")
更改为new Date(2017, 0, 1)
来修复它