从交叉过滤器中提取一列
继承人我的问题。 我有一个基于dc.js的仪表板和其中的一些数据。 数据列包含文本数据(twitter信息)。 是否有可能从交叉过滤器中提取特定列? 我的目标是创建一些图表,并将包含文本数据的交叉过滤器输入到基于d3的词云中,以便我可以执行基于向下钻取的过滤以及直接和跨过滤器提供的开箱即用功能。 我尝试了一个dimension.top(无穷大),但它返回数据中的所有键值对。 我只需要整个数据集中特定键的值。 我希望我的问题有道理。
编辑:更多的研究表明,wordcloud将接受键值对中的数据,其中关键字是词,值是它的出现频率。 所以我猜这也需要实施。 如果有一个准备好实施图书馆,请让我知道。 就crossfilter而言,这有点改变。我需要在触发过滤器时抛出这个计算出的关键值对(适合词云消费)。 如何去做呢?
期待所有人的来信。
Best,Anmol
回答问题的第一部分:可能是dimension.top(Infinity),然后使用访问器来获取所需的值。 不完全有效,但它就是这样。
回答问题的第二部分:
我想,你需要小组。 您想要发微博,生成一个令牌(单词)数组,然后生成一个Crossfilter分组,每个单词都是一个计数,对不对? 你可以编写自己的自定义crossfilter.dimension.groupAll减速器(如果你想这样做,创建一个工作示例,我可以做它)。 或者如果你想使用Reductio:
tweetWords = data.dimension(function(d) { return d.tweetText.split(' '); });
wordCounts = tweetWords.groupAll();
reducer = reductio()
.groupAll(function(d) {
return d.tweetText.split(' ');
})
.count(true);
reducer(wordCounts);
wordCounts.all();
如果要过滤此维度,则必须重写筛选器处理程序,并使用filterFunction检查组键是否位于记录的维数组中。
链接地址: http://www.djcxy.com/p/32807.html