2015-03-03 3 views
1

Можно ли показать общее число на диаграмме sankey?Показать все значения в диаграмме Санки

enter image description here

Например, скрипка гофрированный шоу Фрукты> Место. Я хотел бы знать, сколько фруктов нравится мест и мест, сколько фруктов связаны. Так что-то вроде:

Mango (3) 
Apple (2) 
Pineapple (1) 

Все три связаны с площадью А, поэтому место А должно быть:

(7) Place A 

(более 1 из-за винограда)

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

UPDATE: Похоже, что добавленный вес v42 по умолчанию.

ответ

1

Взгляните на этот jsfiddle

enter image description here

код

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]; 
}) 
+0

Спасибо за принимать время и искать Int o это. – Khrys

0

Если вы используете d3.js Санки, он будет автоматически суммировать значения и отображать его в подсказке, как в этом примере ... http://bl.ocks.org/d3noob/c9b90689c1438f57d649

+0

Спасибо, но это Санки Google отношению – Khrys

Смежные вопросы