2016-01-06 34 views
1

继承人我的问题。我有一个基于dc.js的仪表板和其中的一些数据。数据列包含文本数据(twitter信息)。是否有可能从交叉过滤器中提取特定列?我的目标是创建一些图表,并将包含文本数据的交叉过滤器输入到基于d3的词云中,以便我可以执行基于向下钻取的过滤以及直接和跨过滤器提供的开箱即用功能。我尝试了一个dimension.top(无穷大),但它返回数据中的所有键值对。我只需要整个数据集中特定键的值。我希望我的问题有道理。从crossfilter中提取一列

编辑: 更多的研究揭示了其中的关键是单词和价值是其外观的频率wordcloud将接受键值对的数据。所以我猜这也需要实施。如果有一个准备好实施图书馆,请让我知道。就crossfilter而言,这有点改变。我需要在触发过滤器时抛出这个计算出的关键值对(适合词云消费)。如何去做呢?

期待您的来信。

最佳, Anmol

回答

1

回答这个问题的第一部分:可能dimension.top(无穷大),然后使用访问来获得你所需要的值。不完全有效,但它就是这样。

回答这个问题的第二部分:

你需要groupAll,我想。您想要发微博,生成一个令牌(单词)数组,然后生成一个Crossfilter分组,每个单词都是一个计数,对不对?你可以编写自己的自定义crossfilter.dimension.groupAll减速器(如果你想这样做,创建一个工作示例,我可以做它)。或者,如果你想用归谬法:如果你想在这个维度筛选

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记录英寸