Używam przykładu d3 z http://www.jasondavies.com/wordcloud/#http%3A%2F%2Fen.wikipedia.org%2Fwiki%2F%7Bword%7D=cloud do budowania mojej własnej chmury słów.Chmury słów d3 - zbyt wiele nakładających się wystąpień
Wszystko, co próbuję zrobić, to dodać atrybut koloru dodany do słów na podstawie właściwości obiektów, które oznaczają słowa.
Na przykład są 4 słowa - USA, Indie, Wielka Brytania i Niemcy - używam progów, aby ustawić kolor słów - powiedzmy, że to bardziej przypomina ustawienie koloru na podstawie gęstości zaludnienia.
Nie wpływa to jednak w żaden sposób na rozmiar czcionki - co może oznaczać masę ziemi w danym kraju.
Mój problem polega na tym, że wszystkie słowa nakładają się na siebie nawzajem.
Zastanawiam się, co mógłbym robić źle - patrz ten kod - moja funkcja "rysowania". co mógłbym zrobić źle tutaj?
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; });
}
Jeśli jest jakiś inny kod, który muszę udostępnić - daj mi znać.
dziękuję.
O mój Boże, właśnie uratowałeś mi tyle czasu. Miej wszystkie wzloty. –
Użyłem rotate (0), nie pomaga. – dresh