我有一个带有网络和几个直方图的图。
对于网络,每个节点都有一些具有连续值的属性。直方图用于节点属性。当用户刷直方图时,有没有一种简单的方法来突出显示网络中的节点?我可以将网络数据的维度绑定到节点类属性"selectednode“上吗?
我检查过dc.js,但它似乎不支持网络图。
谢谢
发布于 2014-06-24 04:31:45
Crossfilter实际上并不是为突出显示而构建的,因为筛选将从其他维度和组的视图中删除筛选器之外的数据。听起来您不希望未选中的网络节点消失,而是希望属性值在选择范围内的节点突出显示。我会直接基于未过滤的数据构建直方图或网络(而不是基于Crossfilter),然后每当笔刷事件发生时,重新渲染网络节点,根据属性值检查当前笔刷范围。
发布于 2016-09-17 19:01:46
从相同的记录构建的两个交叉过滤器怎么样?过滤的第一个(cfFilt)可以像预期的那样处理所有可以过滤的维度。突出显示过滤器(cfHigh)将具有一个维度(基于记录id或标识函数d=>d),该维度通过包含在cfFilt.groupAll()中进行过滤,外加过滤任何可以突出显示的内容的维度。(cfFilt().groupAll().reduce()需要返回记录,而不是计数。如果有人需要知道,我可以在评论中说明。)
因此,cfHigh.groupAll()返回通过所有过滤和突出显示的记录。
这种方法的一个有趣的(否则很难实现的)结果是,如果你高亮显示一些东西,那么过滤器会让这个东西消失,然后那个过滤器被移除,这个东西又回来了,只要在此期间没有改变高亮过滤器,它就会保持高亮显示。
https://stackoverflow.com/questions/24348200
复制相似问题