如何在D3中更改x轴?

时间:2016-02-23 19:55:14

标签: javascript d3.js

我尝试创建一个条形图,显示一年中每个月的日期。我想更改条形图的x轴数字,但事实证明,数字从0开始,以11结束,而不是1到12.我如何解决这个问题?

    //x 
var xScale = d3.scale.ordinal()
    .domain(d3.range(dataset.length))
    .rangeRoundBands([0, width - padding.left - padding.right]);

//y 
var yScale = d3.scale.linear()
    .domain([0,d3.max(dataset)])
    .range([height - padding.top - padding.bottom, 0]);

//the define of x
var xAxis = d3.svg.axis()
    .scale(xScale)
    .orient("bottom");

//define of y
var yAxis = d3.svg.axis()
    .scale(yScale)
    .orient("left");


/add x
svg.append("g")
    .attr("class","axis")
    .attr("transform","translate(" + padding.left + "," + (height - padding.bottom) + ")")
    .call(xAxis); 

enter image description here

1 个答案:

答案 0 :(得分:0)

使用tickformat()将轴标签格式化为:

var xAxis = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .tickFormat(function(d) { return d + 1; }); //make changes here relevant to ur data