D3.js 以d3 js的时间刻度在x轴上给出outerspacepadding
我是d3 js的初学者,所以用时间刻度移动x轴刻度是有问题的,因为在时间刻度轴中,没有像顺序轴那样的范围界限,允许像这样给外部空间填充。范围界限[(0,宽度),0.5] 那么,有没有办法像我在给定的图片中提到的那样,将四月取代五月 下面是这张上图的简要代码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
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再看一遍答案,最后一段。