2
我基础上,D3分层酒吧例如建立一个演示工具: https://github.com/devsar/d3talk/blob/master/hierarchical-bar.htmlD3排序分级酒吧的名称,而不是价值
什么将增加一个选项按名称排序的层次结构,而不是最好的办法的价值?
我基础上,D3分层酒吧例如建立一个演示工具: https://github.com/devsar/d3talk/blob/master/hierarchical-bar.htmlD3排序分级酒吧的名称,而不是价值
什么将增加一个选项按名称排序的层次结构,而不是最好的办法的价值?
默认情况下,分区布局按其相关数值进行排序,但您可以通过调用sort
来设置自己的比较器,该函数需要具有两个参数的函数进行比较。
要按名称的酒吧进行排序,只需要改变这些行
https://github.com/devsar/d3talk/blob/master/hierarchical-bar.html#L48-L49
这个
var hierarchy = d3.layout.partition()
.value(function(d) { return d.size; })
.sort(function(a, b){
return a.name.toLowerCase() > b.name.toLowerCase();
});
如果要反转排序顺序,只返回相反
return a.name.toLowerCase() < b.name.toLowerCase();
编辑:
看来当扩展查询栏时,有些名称未正确排序。更改比较器的返回值可将其修复(Chrome)
return a.name.toUpperCase().localeCompare(b.name.toUpperCase());
谢谢!这是一个非常迅速的答复。似乎也完美地工作:)我也发现使用layout.tree而不是layout.partition会有诀窍吗? – Autio