javascript - 如何对分组条形图 d3js v4 进行排序

标签 javascript d3.js

在此block (已修复) 我尝试以类似于 this 的方式执行排序功能。

从技术上讲,它对条形图进行排序,但不是以预期的方式进行排序,如果您选中排序复选框和移位年份,您就会明白我的意思。

我认为这与它仅基于数据排序而不是和/或副本这一事实有关变量,但我尝试根据上述变量以各种方式进行排序,但没有成功。

不确定我缺少什么,感谢任何帮助!

最佳答案

给你!您之前的代码不需要太多更改。

Plunker

所以这与 barGroup 的数据绑定(bind)有关。每次对数据进行排序或更改时,新数据都会绑定(bind)到“g.layer”,并且使用 d3 的更新方法,这就是它的工作方式。

新代码中的更改:

  • 将 barGroups 代码移至数据排序上方,不带转换属性。
  • 在定义 x0 域后向组添加了变换属性。

相关代码:

排序函数上方:

// bars
let barGroups = g.selectAll("g.layer").data(data);
barGroups.enter().append("g")
  .classed('layer', true);

barGroups.exit().remove();

设置 x0 域后:

g.selectAll("g.layer").transition().duration(Globalvar.durations)
  .attr("transform", function(d, i) {
    return "translate(" + x0(d.State) + ",0)";
  });

希望这有帮助! :)

关于javascript - 如何对分组条形图 d3js v4 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46818419/

相关文章:

javascript - 动态创建的 DIVS 中的 JQuery UI 选项卡

javascript - 如何在多个数字状态之间振荡和补间?

javascript - 带有对象条目的 d3.js forceSimulation()

javascript - Fan-Gate、Like-Gate、show-to-connections、javascript 和 like box?

javascript - jquery 在 mouseenter 上显示一个元素

javascript - 返回 Canvas 对象的像素?

javascript - Ajax读取PHP生成的json

javascript - D3 条形图未正确动态更新 y 轴和 x 轴

javascript - 不使用 CSS 设置轴的样式

javascript - IntelliJ IDEA 旗舰版 : Code completion for JS included via simple script tag