Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改D3中的x轴?_Javascript_D3.js - Fatal编程技术网

Javascript 如何更改D3中的x轴?

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轴上的数字,但结果是数字从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); 

使用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];});谢谢!您的建议真的很有帮助!