Math.random () - установить диапазон от минимума до максимума

Я создаю облако слов, которое выглядит так:

Math.random () - установить диапазон от минимума до максимума

У меня есть английское слово «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 пикселей. Я стараюсь избегать очень коротких слов.

Хороший комментарий. Экран меняется каждые 5 секунд, а слова появляются в случайном порядке и размерах. Я стараюсь, чтобы у меня не было очень коротких слов.

smoore4 15.09.2018 18:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
140
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предполагаю, что эта строка устанавливает 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.

Другие вопросы по теме