D3.js 如何切换过滤器,使其一次只选择一个项目?

D3.js 如何切换过滤器,使其一次只选择一个项目?,d3.js,crossfilter,dc.js,D3.js,Crossfilter,Dc.js,我有两张图表。条形图和油炸圈饼图(包括3类['A'、'B'、'C'])。 当我点击一段甜甜圈时,我会切换该元素在过滤器中的成员身份 e、 g.如果选择了['A'、'B'、'C'],我点击了'A',那么剩下的是['B'、'C']。如果我再次单击“A”,则返回到完整集 是否可以更改此行为,以便单击“取消选择”非“a”的所有内容。所以当我点击“A”时,我得到“A”,当我点击“B”时,我得到“B”等等 这在第174行的行图中实现了这一点,但我既不理解实现,也无法在自己的工作中重现这一点 相关代码粘贴在此

我有两张图表。条形图和油炸圈饼图(包括3类['A'、'B'、'C'])。 当我点击一段甜甜圈时,我会切换该元素在过滤器中的成员身份

e、 g.如果选择了['A'、'B'、'C'],我点击了'A',那么剩下的是['B'、'C']。如果我再次单击“A”,则返回到完整集

是否可以更改此行为,以便单击“取消选择”非“a”的所有内容。所以当我点击“A”时,我得到“A”,当我点击“B”时,我得到“B”等等

这在第174行的行图中实现了这一点,但我既不理解实现,也无法在自己的工作中重现这一点

相关代码粘贴在此处:

行图宽度(340)
.高度(850)
.维度(城市维度)
.组(城市组)
.renderLabel(真)
.颜色([“a60000”、“ff0000”、“ff4040”、“ff7373”、“67e667”、“39e639”、“00cc00”))
.colorDomain([0,0])

.renderlet(d3中的函数(图表){/如果需要从更大的数据集中筛选一些数据,可以这样做:

var filter = dataset.filter(function (d) { retrurn d.ValueToFilter == "FilterToApply"; });
例如,如果您有一个水果数据集,并且您只想要橙色,您可以这样做:

var filter = dataset.filter(function (d) { return d.fruit == "orange"; })
这将只返回在
d.fruit