字云中缺少d3.js字

时间:2014-10-20 17:31:22

标签: javascript svg d3.js word-cloud

js并尝试根据[here]中的示例代码做词云:https://github.com/jasondavies/d3-cloud。 我想要做的是单词的字体大小取决于数组中单词的频率。例如,我有[a,a,a,b,b]所以单词'a'将大于'b',但问题是当单词的宽度或高度大于< {{1}时}>这个词就会消失。

svg

我想到的是首先得到元素的宽度和高度,然后相应地调整wordSize,但似乎我不能用[d3.layout.cloud.js]做到这一点:https://github.com/jasondavies/d3-cloud/blob/master/d3.layout.cloud.js 任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:3)

缩放尺寸最好在10到95之间。 95因为100导致最大字体消失而字体小于10则太小

 var sizeScale = d3.scale.linear()
                   .domain([0, d3.max(frequency_list, function(d) { return d.freq} )])
                                    .range([10, 95]); // 95 because 100 was causing stuff to be missing

...

    .fontSize(function(d) { return sizeScale(d.freq); })

更新了代码 http://plnkr.co/edit/gNtHZ0lMRTP98mptm3W8?p=preview