如何精确过滤日期?
How to filter precisely on date?
我正在使用折线图来显示创建日期(我数据中的一个字段),它工作正常而且我可以 select,但我需要一个更精确的过滤器:仅适用于今天创建的项目,这个周、上周、本月、上个月
是否已经有一个如何完成的示例?我正在为如何应用日期范围过滤器而苦苦挣扎
由于这个问题时不时地出现并且有一个像样的例子会很好,我回到了 NorthSide 的问题并修复了 fiddle。
dc.js - add drop down to select date range
我们将定义第二个时间维度,以便图表受其影响。
在此示例中,我们将天数设置为选项值,然后使用它来计算日期:
<select id="myDropDown">
<option value="Infinity">All</option>
<option value='30'>30 days</option>
<option value='7'>7 days</option>
<option value="2">Top 2 day</option>
<option value="5">Top 5 day</option>
</select>
d3.select('#myDropDown').on('change', function(){
var nd = new Date(now);
nd.setDate(nd.getDate() - +this.value);
filterDimension.filterRange([nd, now]);
dc.redrawAll();
});
http://jsfiddle.net/gordonwoodhull/400wd2nd/16/
有更智能的方法来计算回溯一个月等等,但希望这足以让您入门。
我添加了一个功能可以select当天、本周或
当前月份:
d3.select('#date_select').on('change', function(){
var nd = new Date(), now = new Date();
switch (this.value) {
case "today":
nd = d3.time.day(now);
break;
case "week":
nd = d3.time.monday(now);
break;
case "month":
nd = d3.time.month(now);
break;
default:
nd.setDate(nd.getDate() - +this.value);
}
dim.filterAll();
dim.filterRange([nd, now]);
//did not work graph.replaceFilter(dc.RangedFilter(nd, now));
graph.redrawGroup();
});
而 html 是:
<select id="date_select">
<option value="Infinity">All</option>
<option value="today">Today</option>
<option value='1'>last 24 hours</option>
<option value="week">This week</option>
<option value="month">This month</option>
<option value='30'>last 30 days</option>
<option value='90'>last 90 days</option>
</select>
我正在使用折线图来显示创建日期(我数据中的一个字段),它工作正常而且我可以 select,但我需要一个更精确的过滤器:仅适用于今天创建的项目,这个周、上周、本月、上个月
是否已经有一个如何完成的示例?我正在为如何应用日期范围过滤器而苦苦挣扎
由于这个问题时不时地出现并且有一个像样的例子会很好,我回到了 NorthSide 的问题并修复了 fiddle。
dc.js - add drop down to select date range
我们将定义第二个时间维度,以便图表受其影响。
在此示例中,我们将天数设置为选项值,然后使用它来计算日期:
<select id="myDropDown">
<option value="Infinity">All</option>
<option value='30'>30 days</option>
<option value='7'>7 days</option>
<option value="2">Top 2 day</option>
<option value="5">Top 5 day</option>
</select>
d3.select('#myDropDown').on('change', function(){
var nd = new Date(now);
nd.setDate(nd.getDate() - +this.value);
filterDimension.filterRange([nd, now]);
dc.redrawAll();
});
http://jsfiddle.net/gordonwoodhull/400wd2nd/16/
有更智能的方法来计算回溯一个月等等,但希望这足以让您入门。
我添加了一个功能可以select当天、本周或 当前月份:
d3.select('#date_select').on('change', function(){
var nd = new Date(), now = new Date();
switch (this.value) {
case "today":
nd = d3.time.day(now);
break;
case "week":
nd = d3.time.monday(now);
break;
case "month":
nd = d3.time.month(now);
break;
default:
nd.setDate(nd.getDate() - +this.value);
}
dim.filterAll();
dim.filterRange([nd, now]);
//did not work graph.replaceFilter(dc.RangedFilter(nd, now));
graph.redrawGroup();
});
而 html 是:
<select id="date_select">
<option value="Infinity">All</option>
<option value="today">Today</option>
<option value='1'>last 24 hours</option>
<option value="week">This week</option>
<option value="month">This month</option>
<option value='30'>last 30 days</option>
<option value='90'>last 90 days</option>
</select>