2012-09-04 15 views
7

che sto cercando di aggiungere etichette ai punti di dispersione su questo grafico: http://bost.ocks.org/mike/d3/workshop/dot-chart.htmld3.js: come aggiungere etichette per disperdere i punti sul grafico

ho pensato che modifica il codice un po 'avrebbe funzionato, ma didn 't:

svg.selectAll(".dot") 
    .append("text") 
    .text("fooLabelsOfScatterPoints"); 
+2

Hai guardato questo esempio: http : //mbostock.github.com/d3/ex/bubble.html, ed è fonte: http://mbostock.github.com/d3/ex/bubble.js –

+0

Mike, guardando il tuo esempio, penso di aggiungere tag su tag , anziché aggiungere tag su tag . Lo proverò ora. –

risposta

11

Mike Robinson, il tuo esempio ha aiutato.

Per coloro che si stanno chiedendo, ecco quello che ho fatto:

ho rimosso:

svg.selectAll(".dot") 
    .data(data) 
    .enter().append("circle") 
    .attr("class", "dot") 
    .attr("cx", function(d) { return x(d.x); }) 
    .attr("cy", function(d) { return y(d.y); }) 
    .attr("r", 12); 

e ha aggiunto:

var node = svg.selectAll("g") 
       .data(data) 
       .enter() 
       .append("g"); 

node.append("circle") 
    .attr("class", "dot") 
    .attr("cx", function(d) { return x(d.x); }) 
    .attr("cy", function(d) { return y(d.y); }) 
    .attr("r", 12); 

node.append("text") 
    .attr("x", function(d) { return x(d.x); }) 
    .attr("y", function(d) { return y(d.y); }) 
    .text("fooLabelsOfScatterPoints"); 

ho allegato "testo" tag sui "g" tag, al contrario di aggiungere tag "testo" ai tag "circle". (?)

+0

Felice di essere di assistenza –

+0

@MikeRobinson Ho un problema simile ma con una versione diversa di bolle..che il raggio delle bolle varia mentre sposto il cursore..Voglio aggiungere del testo anche a quelle bolle..si può aiutare un po '? – user2480542

0

Quando ho provato la soluzione del nodo, alcuni dei miei dati scomparso, quindi ho solo aggiunto una nuova classe chiamata "dodo", che ha lavorato per me:

svg.selectAll(".dot") 
    .data(data) 
.enter().append("circle") 
    .attr("class", "dot") 
    .attr("r", 3.5) 
    .attr("cx", function(d) { return x(d.time); }) 
    .attr("cy", function(d) { return y(d.place); }) 
    .style("fill", function(d) { return color(d.species); }); 

svg.selectAll(".dodo") 
    .data(data) 
.enter().append("text") 
    .attr("class", "dodo") 
    .attr("x", function(d) { return x(d.time); }) 
    .attr("y", function(d) { return y(d.place); }) 
    .attr("dx", ".71em") 
    .attr("dy", ".35em") 
    .text(function(d) { return d.name;}); 
Problemi correlati