1
從d3.js Tag Cloud size from a Json/array?d3.js標籤雲:設置文字大小範圍
var jWord = ["abc","def","ghi","jkl"];
var jCount = [2, 5, 3, 8];
d3.layout.cloud().size([650, 140])
.words(d3.zip(jWord, jCount).map(function(d) {
return {text: d[0], size: d[1]};
}))
.rotate(function() { return 0; })
//.rotate(function() { return ~~(Math.random() * 2) * 90; })
.fontSize(function(d) { return d.size; })
.on("end", draw)
.start();
的另一個問題現在我用jCount的原始值作爲TEXTSIZE。假設jCount可能會有所不同,我想設置一個大小範圍(最小10px到50px)。
var maxCount = d3.max(jCount);
var s = d3.scale.linear().domain([10,50]),range([0, maxCount)]);
然後,我改變
.words(d3.zip(jWord, jCount).map(function(d) {
return {text: d[0], size: s};
}))
我改變「尺碼:S」的一部分到許多其他可能猜到的形式,但它不工作。我仍然熟悉d3.js/jquery/svg語法,所以現在我無法弄清楚如何設置它。請幫忙!
非常感謝。根據你的建議:我改變了var s = d3.scale.linear()。domain([2,maxCount])。range([10,50]);感謝您定義域和範圍。 :-) – clerksx