D3.js 以d3 js的时间刻度在x轴上给出outerspacepadding

D3.js 以d3 js的时间刻度在x轴上给出outerspacepadding,d3.js,D3.js,我是d3 js的初学者,所以用时间刻度移动x轴刻度是有问题的,因为在时间刻度轴中,没有像顺序轴那样的范围界限,允许像这样给外部空间填充。范围界限[(0,宽度),0.5] 那么,有没有办法像我在给定的图片中提到的那样,将四月取代五月 下面是这张上图的简要代码 x = d3.time.scale() .domain(d3.extent(curr_data, function(d) { return formatDate.parse(d.year) ; })) .ra

我是d3 js的初学者,所以用时间刻度移动x轴刻度是有问题的,因为在时间刻度轴中,没有像顺序轴那样的范围界限,允许像这样给外部空间填充。范围界限[(0,宽度),0.5] 那么,有没有办法像我在给定的图片中提到的那样,将四月取代五月

下面是这张上图的简要代码

    x = d3.time.scale()
      .domain(d3.extent(curr_data, function(d) { return formatDate.parse(d.year) ; }))
      .range([0, width]);

 y = d3.scale.linear()
        .domain([0, d3.max(curr_data, function(d) { return d.value; })])      
        .range([height, 0]);

      var xAxis = d3.svg.axis()
      .scale(x)
        .tickSize(4,2,0)
      .orient("bottom");

   var yAxis = d3.svg.axis()
        .scale(y)
        .orient("left")
        .innerTickSize(-width)
       .outerTickSize(0)    
    .tickPadding(5);

        chart.append("g")
      .attr("class", "x axis x-axis")
      .attr("transform", "translate(0," + height + ")")
      .call(xAxis)
       .selectAll("text")   
        .style("text-anchor", "end")
        .attr("dx", "-.8em")
        .attr("dy", ".15em")
        .attr("transform", "rotate(-65)");

 chart.append("g")
        .attr("class", "y axis y-axis")
        .call(yAxis);

现在,您正在使用
d3.extent
设置时间刻度的上下限域,您得到的结果是预期结果。例如,如果我们将第一个日期设置为2016年4月,最后一个日期设置为2017年4月,这就是我们将拥有的轴:

var svg=d3.选择(“svg”);
风险值日期=[新日期(2016年3月1日),新日期(2017年3月1日)]
var scale=d3.time.scale()
.域名(日期)
.范围([30470]);
var axis=d3.svg.axis()
.比例尺(比例尺)
.orient(“底部”)
.d格式(函数(d){
返回d3.time.format(“%b”)(d)
});
svg.append(“g”)
.attr(“变换”、“平移(0,50)”)
.呼叫(安讯士)
行、路径{
填充:无;
笔画:黑色;
形状渲染:边缘清晰;
}


谢谢您的回答。但是我需要从五月份开始,在四月份的时候留下一个刻度,就像我在上面的图片中所显示的那样。这正是我的答案。我会为你的确切月份编辑它。有没有办法隐藏我从四月份开始显示的第一个勾号而不显示march@kunal再看一遍答案,最后一段。