Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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
Javascript D3.月份第一天和最后一天的月值混乱程度问题_Javascript_D3.js - Fatal编程技术网

Javascript D3.月份第一天和最后一天的月值混乱程度问题

Javascript D3.月份第一天和最后一天的月值混乱程度问题,javascript,d3.js,Javascript,D3.js,我已经为我的问题创建了一个Plunkr,发现 我在使用月份值时遇到缩放问题。我相信这是一个简单的解决办法 关于我的问题,请看下面的12月: 简而言之,在轴和条的更新模式中使用d3.extent时,d3没有正确计算域。它似乎认为它比它小,所以我有一个条目太多,导致一个条挂起,x轴是一个值太长 我的xScale是正常计算的: xScale = d3.time.scale() .domain(d3.extent(data,function(d){return d.fun

我已经为我的问题创建了一个Plunkr,发现

我在使用月份值时遇到缩放问题。我相信这是一个简单的解决办法

关于我的问题,请看下面的12月:

简而言之,在轴和条的更新模式中使用d3.extent时,d3没有正确计算域。它似乎认为它比它小,所以我有一个条目太多,导致一个条挂起,x轴是一个值太长

我的xScale是正常计算的:

xScale = d3.time.scale()
                .domain(d3.extent(data,function(d){return d.funded_month}))
                .rangeRound([0, (w + offsetBar) - (marginleft + marginright)]);
x轴、条形图和文本都在同一个域中工作

可视化所有年份时,viz正确显示:


是否存在13年与12个月的每个可视化中的值数量不同的问题?错误是什么?

我无法用现有库实现简单的解决方案

因为D3解释月、年格式,假设当天是一个月的第一个午夜,所以1月到12月只被视为11个月

因此,我在每个月的几天内创建一个平滑的轴:

2001-01-01,68991364
2001-02-04,554541108
2001-03-07,151123291
2001-04-10,283000000
2001-05-12,8093737
2001-06-15,55718802
2001-07-18,95060100
2001-08-21,78000000
2001-09-23,150000000
2001-10-25,193330000
2001-11-28,59948530
2001-12-31,142424927
我能够在我的轴文本上使用x平移来与条同步移动


迈克·博斯托克

你是如何计算范围的?2013年12月的日期存储为2013年12月1日午夜,因此从2013年1月至12月的域将仅为11个月,而不是12个月,这将反映在您的图表中。如果你想让它包含你的范围内的最后日期,你需要将其四舍五入到月底。查看。看起来没有向上取整的选项-它只是自动向上或向下取整。这里讨论的问题是: