Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Date D3直方图-基于日期_Date_D3.js_Scale_Histogram - Fatal编程技术网

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))
此代码不完整。你是如何计算垃圾箱的?