d3.js - 缺少 D3js 第一个刻度标签
问题描述
我不明白为什么缺少第一个标签(2000)。我将其与许多示例进行了比较,但没有找到原因。
let xAxisScale = d3
.scaleTime()
.domain([min, max]) // 2000, 2013
.range([0, width]);
xAxis = d3
.axisBottom()
.tickFormat(d3.timeFormat('%Y'))
.tickPadding(5)
.ticks(d3.timeYear)
.scale(xAxisScale);
gx = innerSpace
.append('g')
.attr('class', 'x axis')
.attr('transform', 'translate(0,' + height + ')')
.call(xAxis);
你看到任何错误吗?
谢谢 !
解决方案
此问题可能是由于min
日期的微小变化造成的。这取决于您构建min
日期的方式。
例如,new Date('2000-01-01')
如果您的时区 >0,则不包括 2000 年。您可以编写new Date('2000-01-01T00:00:00Z')
以使用 UTC。
另外,如果你使用new Date(YYYY, MM, DD)
,你应该考虑到,那个月从零开始,而一天从一开始。
在此处阅读有关处理该问题的正确方法:http: //bl.ocks.org/jebeck/9671241
推荐阅读
- javascript - 查询不适用于 SQL 模板字符串 npm
- postgresql - 返回 SOQL 中表的所有数据类型
- node.js - 通过 Promise 调用 Rest API 直到结果成功
- javascript - 刷机与转场并存
- excel - 如何获取工作表代码名称以激活特定工作表?
- jquery - 将这些变量添加到数组或 JSON 以发送的最佳方式?
- python - 尝试使用 Flask 上传文件以在 AWS S3 上处理时不允许使用 405 方法
- amazon-web-services - Terraform AWS - 如何将默认路由更改为从 nat-gateway 到 ec2 的现有路由表?
- python - 我如何将以下代码用作python中的函数?
- vba - 间歇性运行时错误 3021 - 没有当前记录 - MS Access