Javascript 如何更改D3中的x轴?
我试图创建一个条形图,显示一年中每个月的天数。我想更改条形图x轴上的数字,但结果是数字从0开始,以11结束,而不是1到12。我怎样才能解决这个问题Javascript 如何更改D3中的x轴?,javascript,d3.js,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.line
//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);
使用tickformat()将轴标签格式化为:
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(function(d) { return d + 1; }); //make changes here relevant to ur data
为
xScale
设置一个不同的域。我还想更改域。。但它也会移动条项目。更喜欢在Xaxis上使用tickformat()更改标签我可以问你另一个问题吗?如果我想将月数改为“一月、二月”,我该怎么做?创建一个月数组:var months=[“一月”、“二月”…和.tickFormat(函数(d){return months[d];});谢谢!您的建议真的很有帮助!