d3-random
Генерировать случайные числа из различных распределений.
Посмотрите коллекцию d3-random на Observable для примеров.
Установка
Если вы используете NPM, npm install d3-random. В противном случае, скачайте последнюю версию. Вы также можете загрузить её как самостоятельную библиотеку или как часть D3. Поддерживаются ES модули, AMD, CommonJS и среды vanilla. В vanilla, экспортируется глобальная переменная d3:
<script src="https://d3js.org/d3-random.v2.min.js"></script> <script> var random = d3.randomUniform(1, 10); </script>
Справочник по API
d3.randomUniform([min, ][max]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с равномерным распределением. Минимальное допустимое значение возвращаемого числа — min (включительно), а максимальное — max (исключительно). Если min не указан, по умолчанию он равен 0; если max не указан, по умолчанию он равен 1. Например:
d3.randomUniform(6)(); // Returns a number greater than or equal to 0 and less than 6. d3.randomUniform(1, 5)(); // Returns a number greater than or equal to 1 and less than 5.
d3.randomInt([min, ][max]) · Исходный код, Примеры
Возвращает функцию для генерации случайных целых чисел с равномерным распределением. Минимальное допустимое значение возвращаемого числа — ⌊min⌋ (включительно), а максимальное — ⌊max - 1⌋ (включительно). Если min не указан, по умолчанию он равен 0. Например:
d3.randomInt(6)(); // Returns an integer greater than or equal to 0 and less than 6. d3.randomInt(1, 5)(); // Returns an integer greater than or equal to 1 and less than 5.
d3.randomNormal([mu][, sigma]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с нормальным (гауссовским) распределением. Математическое ожидание сгенерированных чисел — mu, а стандартное отклонение — sigma. Если mu не указан, по умолчанию он равен 0; если sigma не указан, по умолчанию он равен 1.
d3.randomLogNormal([mu][, sigma]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с логарифмически-нормальным распределением. Математическое ожидание натурального логарифма случайной величины — mu, а стандартное отклонение — sigma. Если mu не указан, по умолчанию он равен 0; если sigma не указан, по умолчанию он равен 1.
d3.randomBates(n) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с распределением Бейтса с n независимыми переменными. Случай дробного n обрабатывается так же, как и в d3.randomIrwinHall, а d3.randomBates(0) эквивалентно d3.randomUniform().
d3.randomIrwinHall(n) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с распределением Ирвина-Холла с n независимыми переменными. Если дробная часть n отлична от нуля, это рассматривается как добавление d3.randomUniform() в целую часть, умноженной на эту дробную часть.
d3.randomExponential(lambda) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с экспоненциальным распределением с интенсивностью lambda; эквивалентно времени между событиями в процессе Пуассона со средним значением 1 / lambda. Например, exponential(1/40) генерирует случайные промежутки времени между событиями, где в среднем одно событие происходит каждые 40 единиц времени.
d3.randomPareto(alpha) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с распределением Парето с параметром формы alpha. Значение alpha должно быть положительным.
d3.randomBernoulli(p) · Исходный код, Примеры
Возвращает функцию, генерирующую 1 или 0 в соответствии с распределением Бернулли, где 1 возвращается с вероятностью успеха p, а 0 — с вероятностью неудачи q = 1 - p. Значение p находится в диапазоне [0, 1].
d3.randomGeometric(p) · Исходный код, Примеры
Возвращает функцию для генерации чисел с геометрическим распределением с вероятностью успеха p. Значение p находится в диапазоне [0, 1].
d3.randomBinomial(n, p) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с биномиальным распределением с n количеством испытаний и p вероятностью успеха в каждом испытании. Значение n больше или равно 0, а значение p находится в диапазоне [0, 1].
d3.randomGamma(k, [theta]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с гамма-распределением с параметром формы k и параметром масштаба theta. Значение k должно быть положительным; если theta не указан, он по умолчанию равен 1.
d3.randomBeta(alpha, beta) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с бета-распределением с параметрами формы alpha и beta, которые оба должны быть положительными.
d3.randomWeibull(k, [a], [b]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с одним из обобщённых распределений экстремальных значений, в зависимости от k:
- Если k положительно, то распределение Вейбулла с параметром формы k
- Если k равно нулю, то распределение Гумбеля
- Если k отрицательно, то распределение Фреше с параметром формы −k
Во всех трёх случаях a — параметр местоположения, а b — параметр масштаба. Если a не указан, он по умолчанию равен 0; если b не указан, он по умолчанию равен 1.
d3.randomCauchy([a], [b]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с распределением Коши. a и b имеют те же значения и значения по умолчанию, что и в d3.randomWeibull.
d3.randomLogistic([a], [b]) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с логистическим распределением. a и b имеют те же значения и значения по умолчанию, что и в d3.randomWeibull.
d3.randomPoisson(lambda) · Исходный код, Примеры
Возвращает функцию для генерации случайных чисел с распределением Пуассона со средним значением lambda.
random.source(source) · Примеры
Возвращает тот же тип функции для генерации случайных чисел, но в котором заданный генератор случайных чисел source используется в качестве источника случайности вместо Math.random. Заданный генератор случайных чисел должен реализовывать тот же интерфейс, что и Math.random, и возвращать только значения в диапазоне [0, 1). Это полезно, когда предпочтительнее генератор случайных чисел с заданным начальным значением, чем Math.random. Например:
const d3 = require("d3-random");
const seed = 0.44871573888282423; // any number in [0, 1)
const random = d3.randomNormal.source(d3.randomLcg(seed))(0, 1);
random(); // -0.6253955998897069 d3.randomLcg([seed]) · Источник, Примеры
Возвращает линейный конгруэнтный генератор; эту функцию можно вызывать многократно для получения псевдослучайных значений, равномерно распределенных на интервале [0,1) и с большим периодом (до 1 миллиарда чисел), аналогично Math.random. Можно указать seed (начальное значение) как действительное число в интервале [0,1) или как любое целое число. В последнем случае учитываются только младшие 32 бита. Два генератора, созданные с одинаковым значением seed, генерируют одну и ту же последовательность, что позволяет создавать воспроизводимые псевдослучайные эксперименты. Если seed не указан, он выбирается с помощью Math.random.
© 2010–2020 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-random