答案 0 :(得分:0)
我可以想到两种方法来实现这一目标:通过多值排序,或通过分组条形图。
虽然chart.ordering()必须返回单个值,但您可以将多个值组合到单个排序值中。
假设您已经设置了小组,因此缩小的值包含字段bool
和frequency
,您可以生成一个按bool
排序并{{1}排序的值第二:
frequency
这假设频率不高于1000.如果频率高于此值,您可以使用更大的乘数。
它还使用了一个技巧,当放入算术表达式时,布尔值将强制为1或0。
如果您的简化数据没有chart.ordering(function(kv) {
return - (kv.value.bool * 1000 + kv.value.frequency);
});
和bool
部分,您可以在常见问题解答中查看How do I reduce multiple values at once?。或者用示例数据更新您的问题,最好是小提琴或块。
在您的示例中,看起来绿色条的数量与红条相同,因此实验性分组条特征也可能是合适的。
它available in a PR绘制分组条形图。它的工作方式类似于堆叠条:您实际上将每个颜色的每个部分的数据分成几组,然后每个颜色都是每个组中的一个bin。
我不认为此功能支持按组内的值排序,但我认为因为视觉相似性而值得一提。