Generate random numbers from various distributions.
If you use NPM, npm install d3-random
. Otherwise, download the latest release.
# uniform([min, ][max])
Returns a function for generating random numbers with a uniform distribution. The minimum allowed value of a returned number is min, and the maximum is max. If min is not specified, it defaults to 0; if max is not specified, it defaults to 1. For example:
uniform(6)(); // Returns a number greater than or equal to 0 and less than 6.
uniform(1, 5)(); // Returns a number greater than or equal to 1 and less than 5.
Note that you can also use the built-in Math.random to generate uniform distributions directly. For example, to generate a random integer between 0 and 99 (inclusive), you can say Math.random() * 100 | 0
.
# normal([mu][, sigma])
Returns a function for generating random numbers with a normal (Gaussian) distribution. The expected value of the generated numbers is mu, with the given standard deviation sigma. If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1.
# logNormal([mu][, sigma])
Returns a function for generating random numbers with a log-normal distribution. The expected value of the random variable’s natural logrithm is mu, with the given standard deviation sigma. If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1.
# bates(n)
Returns a function for generating random numbers with a Bates distribution with n independent variables.
# irwinHall(n)
Returns a function for generating random numbers with an Irwin–Hall distribution with n independent variables.
# exponential(lambda)
Returns a function for generating random numbers with an exponential distribution with the rate lambda; equivalent to time between events in a Poisson process with a mean of 1 / lambda. For example, exponential(1/40) generates random times between events where, on average, one event occurs every 40 units of time.
# pareto(xm, alpha)
Returns a function for generating random numbers with a pareto distribution with a shape of xm and the a tail index of alpha.
-
Added a uniform random number generator.
-
Added an exponential random number generator.
-
Added a pareto random number generator.