我一直在使用我的现有数据集成功创建了一个crossfilter对象,创建一个维和添加过滤器:如何将crossfilter(ed)数据集连接到d3图表?
var calendarData = crossfilter([
{start_date: "2015-07-01",end_date: "2015-09-01",Channel: "Twitter"},
{start_date: "2015-07-01",end_date: "2015-07-24",Channel: "Twitter"},
{start_date: "2015-07-15",end_date: "2015-09-01",Channel: "Twitter"},
{start_date: "2015-08-05",end_date: "2015-09-24",Channel: "Facebook"},
{start_date: "2015-08-05",end_date: "2015-08-10",Channel: "Facebook"}
]);
// create dimension, based on Channel
var calendarDataByChannel = calendarData.dimension(function(d) { return d.Channel; });
// filter by Twitter
var calendarDataFilter = calendarDataByChannel.filter("Twitter");
我然后创建一个SVG和尝试添加矩形和诸如此类的东西按正常D3的功能,引用crossfilter :
var rectangles = svg.append("g")
.selectAll("rect")
.data(calendarData)
.enter();
但它不起作用。连接到交叉过滤的数据的正确方法是什么?
我不想在这个项目中使用dc.js,并且我发现的所有示例通常都与dc有关。
感谢, 基思
你可以把你的完整代码放在小提琴上...即使它不工作。 – Cyril
你尝试过数据(calendarData.bottom(Infinity))吗? – FizBack
下面是我试图实现的一个丑陋版本:https://jsfiddle.net/duncanklf/besLh1pu/以下是我对crossfilter的看法:https://jsfiddle.net/duncanklf/nvg5e7eb/ – Neptunemo