【问题标题】:How to display the value for the final tick on axis in D3?如何在 D3 中显示轴上最后一个刻度的值?
【发布时间】:2014-10-23 21:10:54
【问题描述】:

我用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;
})

提前谢谢你。

【问题讨论】:

    标签: d3.js axis


    【解决方案1】:

    您是否尝试过使用.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() 
    

    【讨论】:

    • 好像没有效果
    • @CodeWhisperer 您可能正在使用 d3 v4。术语有点不同:scaleTime 而不是 time.scale。功能nice还在,看看d3.js v4 documentation
    猜你喜欢
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 2021-08-13
    • 2022-01-01
    相关资源
    最近更新 更多