javascript - 如何在 d3js 中排序后将条形图重新排序到其初始状态

标签 javascript d3.js

我做了一个plunker您可以将数据从最大值到最小值排序,这很棒,但是当您取消选中该框时,它会像这样按字母顺序排序

function(a, b) { return d3.ascending(a.name, b.name); }

我不知道用什么来替换它,以便它在您选中该框之前返回到初始状态,任何帮助将不胜感激!

最佳答案

首先,使用您的名称的正确顺序创建一个数组:

var sortIndex = data.map(function(d){ return d.name});

然后用它来排序:

function(a, b) { 
    return sortIndex.indexOf(a.name) - sortIndex.indexOf(b.name); 
}

这是您更新的插件:https://plnkr.co/edit/SmpDOk7KYSvrM2ioUoxE?p=preview

关于javascript - 如何在 d3js 中排序后将条形图重新排序到其初始状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097077/

相关文章:

javascript - 如何在 IE6 上监视来自 Javascript 的所有 XmlHttpRequest POST?

javascript - useState 对象数组

javascript - SVG 中的 HTML 元素未显示

javascript - d3 React JS : d3. csv正在导入index.html而不是csv文件

javascript - Rhino JavaScript 和动态作用域变量创建

javascript - 如何点击列表中的某个项目并在新页面中查看该项目? AngularJS 和 Ionic

javascript - 位置粘性顶部和底部

javascript - 如何在javascript中找到嵌套数组的最大值/最小值?

javascript - d3 js基本折线图,数据问题

javascript - 缩放 SVG 但仅此而已?