Я создаю облако слов, которое выглядит так:
У меня есть английское слово «Tickets», фиксированное на 160 пикселей. Как установить минимальный размер неанглийских слов (например, 32)? Я использую d3.js и Math.random ().
var languages = [{"text":"Tickets"},{"text":"Fahrkarten"},{"text":"Entradas"},{"text":"Billets"},{"text":"Biglietti"},{"text":"チケット"},{"text":"티켓"},{"text":"Bilhetes"},{"text":"门票"},{"text":"門票"}];
var eases = [d3.easeExp,d3.easeSin,d3.easeLinear,d3.easeCubic];
var easesItem = eases[Math.floor(Math.random()*eases.length)];
console.info(easesItem);
var color = d3.scaleLinear()
.domain([0,1,2,3,4,5,6,10,15,20,100])
.range(["#000000", "#2F4F4F", "#708090", "#778899", "#808080", "#696969", "#A9A9A9", "#C0C0C0", "#D3D3D3", "#DCDCDC"]);
var layout = d3.layout.cloud()
.size([1020, 1980])
.words(languages)
.padding(5)
.rotate(function() { return ~~(Math.random() * 2) * 90; })
.font("MoMA Sans Office")
.fontSize(function(d) { if (d.text === 'Tickets') { return 160; } else { return 10 + Math.random() * 160; } })
.on("end", draw);
layout.start();
ПРИМЕЧАНИЕ. Экран меняется каждые 5 секунд, и слова появляются в случайном порядке, цвете и размере, за исключением английского слова «Ticket», которое имеет случайный цвет и порядок, но всегда имеет размер 160 пикселей. Я стараюсь избегать очень коротких слов.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я предполагаю, что эта строка устанавливает fontsize:
.fontSize(function(d) { if (d.text === 'Tickets') { return 160; } else { return 10 + Math.random() * 160; } })
и вы хотите, чтобы минимальный размер был 32:
.fontSize(function(d) { if (d.text === 'Tickets') { return 160; } else { return 32 + Math.random() * (160 - 32); } })
Это должно установить минимальный размер шрифта на 32 и максимальный размер шрифта на 160.
Хороший комментарий. Экран меняется каждые 5 секунд, а слова появляются в случайном порядке и размерах. Я стараюсь, чтобы у меня не было очень коротких слов.