Date D3直方图-基于日期
我有一系列的日期Date D3直方图-基于日期,date,d3.js,scale,histogram,Date,D3.js,Scale,Histogram,我有一系列的日期 ["01/01/2001", "01/01/2001", "03/01/2001", "01/04/2001", "01/05/2001", "02/05/2001", "01/07/2001", "01/07/2001", "01/07/2001", "01/10/2001"] 有些是重复的,没有特定的顺序,在不同的时间范围内(1周、43天、2年等) 我想做的是生成一个柱状图(或条形图),显示任意桶(比如20桶)中的“日期”计数 如果存储桶中没有日期,则显示零,并显示包含日
["01/01/2001", "01/01/2001", "03/01/2001", "01/04/2001", "01/05/2001", "02/05/2001", "01/07/2001", "01/07/2001", "01/07/2001", "01/10/2001"]
有些是重复的,没有特定的顺序,在不同的时间范围内(1周、43天、2年等)
我想做的是生成一个柱状图(或条形图),显示任意桶(比如20桶)中的“日期”计数
如果存储桶中没有日期,则显示零,并显示包含日期的存储桶的总数
基本上像这个例子:
但我需要的不是随机显示的“秒”,而是“日期”
比如:
我想我正在寻找将X尺度域更改为我数据中的日期范围。因此解决方案如@Larskothoff在评论中所建议的
var x = d3.time.scale().domain([firstDate, lastDate]).range([0, width]);
var data = d3.layout.histogram()
.bins(x.ticks(bins))
(values);
var formatDate = d3.time.format("%d/%m/%y");
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(formatDate);
你试过什么?这是一个非常模糊的问题--请更新您正在努力解决的具体问题。具体来说,在本例()中,我需要做什么更改以接受“日期”数组而不是“分钟”数组听起来您需要做的只是更改x轴刻度的格式化程序以获取日期,解析它,然后根据需要格式化。请粘贴用于解决此问题的完整代码,好吗?在生成直方图之前,还不清楚您之前定义了哪些变量。谢谢我发现计算条形图的宽度有点奇怪,因为在直方图布局生成的数据数组中,
x
值是日期,而dx
值是毫秒数。对于条形图的宽度,我使用了:x(新日期(数据[0].x.getTime()+数据[0].dx))
此代码不完整。你是如何计算垃圾箱的?