2013-02-11 1 views
2

У меня есть streamgraph, и я хотел бы добавить всплывающие подсказки, которые появляются при наведении указателя мыши над каждым потоком, точно как в этом примере:Добавить обновление всплывающих подсказок к streamgraph

http://archive.stamen.com/mtvmovies-streamgraph/index.html

enter image description here

I есть всплывающие подсказки, которые в данный момент делают что-то подобное, но они отображают только первое значение в каждом потоке, поэтому независимо от того, где в потоке я наводил курсор, я получаю только начальное значение. Кроме того, всплывающая подсказка не непрерывна, поэтому, когда я перемещаю курсор, всплывающая подсказка исчезает

Вот код, который я использую сейчас.

var toolTip = vis.selectAll("path") 
     .data(data) 
     .append("svg:title") 
     .text(function(d) { 
      return ('Date: ') + formatTime(d.d_date) + 
        (' Money: ') + (d.money) + 
        (' Movie: ') + (d.name) 
     }); 

У кого-нибудь есть предложения или советы?

ответ

1

Я думаю, что вы просто пропустили свой звонок до enter().append(). Если не указано иное, элементы обмениваются данными своего родителя.

/* Join */ 
var stream = viz.selectAll("path").data(data); 

/* Enter */ 
stream.enter().append("path").append("title"); 

/* Exit */ 
stream.exit().remove(); 

/* Update */ 
stream 
    .attr("d", function(d) { return d.path; }) 
.select("title") 
    .text(function(d) { 
     return ('Date: ') + formatTime(d.d_date) 
     + (' Money: ') + (d.money) 
     + (' Movie: ') + (d.name); 
    });