D3渲染xAxis在FF和Chrome之间的月份不同

问题描述 投票:0回答:1

我创建了一个简单的条形图,其中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

chrome ff

javascript reactjs d3.js
1个回答
0
投票

没关系,认为这可能是一个潜在的错误

通过将new Date("2017-1-1")更改为new Date(2017, 0, 1)来修复它

© www.soinside.com 2019 - 2024. All rights reserved.