这是我的日期时间BARCHART。 当我使用一个小提琴(见这里 ),试图复制的问题,它按预期工作。 NB:数据需要一段时间(〜30秒),以从GitHub加载。
下面是图表中的代码:
pnlPerDaybarChart
.height(300)
.width(700)
.dimension(dims.date)
.group(groups.date.pnlSum)
.valueAccessor(function(d) {
return Math.abs(d.value);
})
.renderTitle(false)
.x(d3.time.scale().domain([minDate,maxDate]))
.xUnits(d3.time.days)
.colors(colorChoice)
.colorAccessor(function(d) {
if (+d.value>0) {
return("positive");
} else {
return("negative");
}
})
.brushOn(true)
.elasticY(true)
.margins({left: 70 ,top: 10, bottom: 30, right: 50})
.centerBar(true);
我失去了一些东西明显在这里吗? 如果没有,任何想法,我应该开始调试? 我花了一些时间的量就这一个,我不能发现任何错误。
编辑:当我删除.xUnits
指示,我变得非常瘦酒吧,但沿轴线以及放置。 这使我觉得有什么不对与杆的宽度计算。 我不知道该怎么虽然调试具体计算。 如果有谁知道,我会很高兴地掏了进去。
EDIT2:该width
的的属性<g class="chart-body"><g class="stack _0"><rect class="bar"></rect></g></g>
所述内元件svg
都被设置为一个错误的值。 如果任何人都可以点我到这是在计算d3
库,我也许可以把它从那里。
EDIT3:我发现我的问题的根源。 条的宽度不正确,因为当calculateBarWidth()已经运行一次,以实例的图,现在不即使dc.redrawAll()被调用运行。 在我来说,我先后加记录块到我的crossfilter和重绘图表。 新的问题是“如何强制calculateBarWidth()重新运行?