首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DC.JS rowChart中错误地应用行集和过滤器

在DC.JS rowChart中错误地应用行集和过滤器
EN

Stack Overflow用户
提问于 2015-04-16 16:50:11
回答 1查看 421关注 0票数 0

仍然使用DC.JS来获得一些为我们的工具性能而编写的分析工具。非常感谢你有这个图书馆。

我想要展示的是,对于给定的一组数据,哪些菜谱设置时间是最糟糕的。只要你向整个团队展示,一切都会好起来。当您只在topN上使用.rowscap显示指定的rowChart时,会发生以下情况:

图表将显示正确的条形图,它们甚至被正确地排序,但是图表首先选择了topN未过滤的条形图,然后对它们进行排序。我希望它从有序列表中选择topN,而不是相反。请看小提琴曲的演示。(http://jsfiddle.net/za8ksj45/24/)

代码语言:javascript
复制
in the fiddle, the longest setup time belongs to recipeD.
But if you have more than two recipes selected before recipeD
it is dropped of the right (top2) chart.

line 099-110: reductio definition
line 120-140: removal of empty bins (works okay)

(这与戈登先前帮助解决的一个问题非常相似(https://stackoverflow.com/questions/28145149/dc-js-rowchart-topn-without-zeros),我从该解决方案中重用了代码。当我把它和reductio.js库结合起来时,它出了问题。)

我想我不会在某个地方返回还原剂组的价值部分,但一直无法弄清楚。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 21:38:13

问题是,在您.slice(0,n)组在您的函数中删除空回收箱时,组没有排序,因此您有效地得到了一个随机的2个组,而不是前两个组。这在未经过滤的视图中是明确的,因为"top2“视图显示了”所有“视图中的第二组和第三组,而不是实际的前2组(至少对我来说是这样)。

前面的示例之所以有效,是因为在默认情况下,交叉筛选器的标准组是有序的,但是对于一个复杂的组,比如您要用Reductio生成的组,它应该按什么顺序排序呢?它不可能知道,所以还原论一点也不乱排序,我想这意味着它是按值属性排序的,它是一个对象。

您需要添加一行按平均顺序排列FactsByRecipe组,我认为它应该可以解决您的问题:

代码语言:javascript
复制
FactsByRecipe.order(function(d) { return d.avg; });

请注意,在跨筛选器组上只能有一个排序,所以如果您想为该组的多个属性显示"top X“,则需要创建另一个包装器(如remove空回收箱包装器),但要让"top”函数按照所需的顺序对组进行重新排序。

祝好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29681216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档