D3.js:时间尺度上均匀间隔的条形

时间:2015-10-25 05:52:36

标签: javascript d3.js

我正在尝试创建一个简单的条形图,在x轴上按时间刻度均匀间隔条形,但即使使用here

解决方案也不成功

我在条形和不均匀间隔的条形图上出现重叠。我的部分代码如下:

locationManager:didUpdateWithLocations:

JSFiddle:http://jsfiddle.net/vivekratnavel/v7rx8ku9/2/

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

将小时设置为0小时:0分钟:0秒,然后缩放x轴上的时间。

http://jsfiddle.net/hnj30m4j/

bars.transition().duration(1000)
.attr("x", function(d) { return x(d.date.setHours(0,0,0))  - Math.floor(width/data.length/2); })
.attr("width", Math.floor(width / data.length))
.attr("y", function(d) { return y(d.c); })
.attr("height", function(d) { return height - y(d.c);});

bars.enter().append("rect")
.attr("class", "air_used")
.attr("width", Math.floor(width / data.length))
.attr("x", function(d) { return x(d.date.setHours(0,0,0)) - Math.floor((width/data.length)/2); })
.attr("y", height)
.attr("height", 0)
.transition().duration(1000)
.attr("y", function(d) { return y(d.c); })
.attr("height", function(d) { return height - y(d.c);});