作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用d3.time.scale生成x轴,域范围从1980年到2013年(年)
但是,刻度值仅显示到 2012 年,而不是 2013 年。
我尝试了 .ticks(),但直到刻度计数为 25 时才会显示最终刻度值...
虽然我可以通过手动将域增加到 2014 年来添加最终值,但有没有办法显示最后一个刻度的刻度值?
xAxis = d3.svg.axis()
.scale(xScale).tickSize(20)
var maxYear = format.parse('2014')
xScale = d3.time.scale().domain([min,max])
.range([100,width-200]) //domain = [1980 ~ 2013]
var min = d3.min(data, function(d) {
return d.Year; // + operator converts string to number.
})
var max = d3.max(data, function(d) {
return d.Year;
})
最佳答案
您是否尝试过使用 .nice()
?
https://github.com/d3/d3-scale/blob/master/README.md#time_nice
这应该可以完成这项工作:
xScale = d3.time.scale().domain([min,max])
.range([100,width-200]) //domain = [1980 ~ 2013]
.nice()
关于d3.js - 如何在 D3 中显示 Axis 上最后一个刻度的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537546/
我是一名优秀的程序员,十分优秀!