Sto usando D3 per disegnare un grafico a dispersione. Mi piacerebbe mostrare le descrizioni dei comandi quando l'utente esegue il mouse su ogni cerchio.D3.js: posiziona i suggerimenti usando la posizione dell'elemento, non la posizione del mouse?
Il mio problema è che posso aggiungere suggerimenti, ma sono posizionati usando l'evento del mouse d3.event.pageX
e d3.event.pageY
, quindi non sono posizionati in modo coerente su ogni cerchio.
Invece, alcuni sono leggermente a sinistra del cerchio, alcuni a destra - dipende da come il mouse dell'utente entra nel cerchio.
Questo è il mio codice:
circles
.on("mouseover", function(d) {
tooltip.html(d)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout", function(d) {
tooltip.transition().duration(500).style("opacity", 0);
});
ed è un JSFiddle che mostra il problema: http://jsfiddle.net/WLYUY/5/
C'è qualche modo posso usare il centro del cerchio stesso come la posizione di orientare il tooltip, non la posizione del mouse?
Se siete male con qualsiasi tipo di suggerimento, [questa risposta] (http://stackoverflow.com/questions/10805184/d3-show-data-on-mouseover-of-circle/10806220# 10806220) dovrebbe aiutare. –
Grazie! Preferirei usare puro tooltips D3 piuttosto che alticcio, se possibile. – Richard