2013-07-08 19 views
5

sto usando l'esempio d3 da http://www.jasondavies.com/wordcloud/#http%3A%2F%2Fen.wikipedia.org%2Fwiki%2F%7Bword%7D=cloud per creare il mio word cloud.d3 word clouds - troppe sovrapposizioni che si verificano

Tutto quello che sto cercando di fare è ottenere un attributo di colore aggiunto alle parole basato sulla proprietà degli oggetti che le parole indicano.

per esempio, ci sono 4 parole - USA, India, Regno Unito e Germania - io uso le soglie per impostare il colore delle parole - diciamo che è più come impostare un colore basato sulla densità della popolazione.

Tuttavia ciò non influisce in alcun modo sulla dimensione del carattere, che potrebbe indicare la massa del paese.

Il mio problema è che le parole si sovrappongono l'una sull'altra.

Mi chiedo cosa potrei fare in modo sbagliato - vedere questo codice - la mia funzione "disegna". cosa potrei fare di sbagliato qui?

draw: function(countries) { 
     var cctrplt = {BuOrPuRd: { 
      4: ["#9ebcda","#e32636","#08306b", "#ffbf00"] 
     }}; 
     var fillthr = 
      d3.scale.threshold() 
      .domain([2, 5, 10]) 
      .range(cctrplt.BuOrPuRd[4]); 
     d3.select("#ddTagCloudContentRoot").append("svg") 
      .attr("width", width) 
      .attr("height", height) 
      .append("g") 
      .attr("transform", "translate(300,300)") 
      .selectAll("text") 
      .data(countries) 
      .enter().append("text") 
      .style("font-size", function(d) { return (d.size) + "px"; }) 
      .style("font-family", "Impact") 
      .style("fill", function(k,i) { var ccode = colours_list[k.text]; return fillthr(ccode); }) 
      .attr("text-anchor", "middle") 
      .attr("transform", function(d) { 
       return "translate(" + [d.x, d.y] + ")"; 
      }) 
      .text(function(d) { return d.text; }); 
    } 

Se c'è qualche altro codice che ho bisogno di condividere - fammi sapere.

grazie.

risposta

5

Trovato la soluzione. Non stavo usando la chiamata alla funzione rotate() perché voglio che il testo sia posizionato orizzontalmente. pensavo che lasciare fuori la chiamata sarebbe stato di grande aiuto.

non sembra essere il caso. quindi aggiungo rotate (0) e il gioco è fatto. ora ho una bella nuvola di parole.

SUGGERIMENTO: utilizzo il tratto: il nero rispetto agli stili di testo e offre una presentazione nitida.

+0

Oh mio Dio, mi hai appena salvato così tanto tempo. Avere tutti gli alti –

+0

Ho usato ruotare (0), non aiuta. – dresh

Problemi correlati