我想做什么:
我有一个barChart,其中x轴代表时间。可以通过鼠标选择一段时间来选择一段时间,并且所有图表都可以正确调整到选择范围。
但是,有时候从确切的日期到确切的日期很难,我想添加一个日历,用户可以选择这些日期。
理想情况下,选择日历上的日期应与使用barChart上的鼠标选择时间段具有相同的效果。
尝试但不喜欢:
我尝试创建第二个时间维度并在其上选择日历。但是,这会使barChart最小值和最大值调整为该选择barChart不会覆盖时间维度的完整维度,而只会覆盖日历上的选定期间。这就是我想避免的。
如何准确模拟图表本身的选择?
非常感谢。
编辑:
我试图了解对评论提出的建议。让我给你看一些代码。
我有一个barChart:
var moveChart = dc.barChart("#move-chart","chart2");
是用于执行时间过滤器的人。
moveChart
.width(700)
...
.dimension(timeDim)
.group(foo)
现在,让我说我在控制台上做:
timeDim.filterRange([minTime,maxTime]);
dc.renderAll("chart2");
这使得其他图表反映了选择,但不反映moveChart。
我也试图实施戈登的评论,但我不理解。在控制台中我可以看到moveChart.filters。没有实现任何像RangedFilter或TwoDimensionalFilter这样的过滤器,所以我不确定如何在画笔上执行过滤功能。
感谢。
答案 0 :(得分:4)
A chart will not observe filters on its own dimension,所以我认为你真的想要刷选项。
filter = dc.filters.RangedFilter(filter[0], filter[1]);
moveChart.filter(filter);
您只需在图表上设置过滤器;图表将在维度上设置过滤器。