在Sankey Diagram中显示总值

Khr*_*rys 2 google-visualization sankey-diagram

可以在sankey图中显示总数吗?

在此处输入图片说明

例如,小提琴波纹管显示“水果”>“位置”。我想知道该地点喜欢多少水果,以及在哪些地方链接了多少水果。所以像这样:

Mango (3)
Apple (2)
Pineapple (1)
Run Code Online (Sandbox Code Playgroud)

这三个都链接到场所A,因此场所A应该是:

(7) Place A
Run Code Online (Sandbox Code Playgroud)

(还有1个是因为葡萄)

http://jsfiddle.net/Khrys/5c2urqbx/

更新:默认情况下,看起来v42增加了重量。

Viv*_*idD 5

看看这个jsfiddle

在此处输入图片说明

data1 = [
              ['Apple', 'Place A', 1],
              ['Apple', 'Place A', 1],
              ['Grape', 'Place A', 1],
              ['Grape', 'Place B', 2],
              ['Pineapple', 'Place A', 1],
              ['Strawberry', 'Place B', 4],
              ['Mango', 'Place A', 3]
];

var sourceTotals = {};

for (var i = 0; i < data1.length; i++) {
    var item = data1[i],
        key = item[0];
    if (sourceTotals.hasOwnProperty(key)) {
        sourceTotals[key] += item[2];
    }
    else {
        sourceTotals[key] = item[2];
    }
}

console.log(sourceTotals);

var destTotals = {};

for (var i = 0; i < data1.length; i++) {
    var item = data1[i],
        key = item[1];
    if (destTotals.hasOwnProperty(key)) {
        destTotals[key] += item[2];
    }
    else {
        destTotals[key] = item[2];
    }
}

console.log(destTotals);

data1.forEach( function(d) {
    d[0] = d[0] + " (" + sourceTotals[d[0]] + ")";
    d[1] = "(" + destTotals[d[1]] + ") " + d[1];
})
Run Code Online (Sandbox Code Playgroud)