如何在d3js中显示堆积条形图的总值

时间:2017-05-10 14:05:26

标签: javascript d3.js

我已经做了这个Plunkr,我希望显示每个条形图的总值,它当前显示条形图的每个切片的总累计值(黑色文本)和总计值。结束,我只想显示每个栏末尾显示的总值。

我在这里评论了我的尝试

.text(function(d) {
                if (d["x1_"+TEAM] != maxValue){
                    "display", "none"; 
                    } else { return formatText(d["x1_"+TEAM])
                    }
                });

maxValue中的最大值当然是所有组合的最大值。

是否可以使用类似的解决方案,还是必须在全新的功能中对数据进行排序?

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

使用每个堆叠条的总数创建选择有更简单,更好的方法。但是,使用您的代码并应用尽可能少的更改,只需显示每个堆叠条的第三个对象:

.text(function(d, i) {
    if (i === 2) return formatText(d["x1_" + TEAM])
});

或者,如果你想在没有幻数的情况下这样做:

.text(function(d, i) {
    if (i === textOnBar4.data().length - 1) return formatText(d["x1_" + TEAM])
});

这是您更新的plunker:https://plnkr.co/edit/iovKsrx0Eg4pTUWTDUaA?p=preview