node package manager

d3-random

d3-random

Generate random numbers from various distributions.

Installing

If you use NPM, npm install d3-random. Otherwise, download the latest release. You can also load directly from d3js.org, either as a standalone library or as part of D3 4.0. AMD, CommonJS, and vanilla environments are supported. In vanilla, a d3 global is exported:

<script src="https://d3js.org/d3-random.v1.min.js"></script>
<script>
 
var random = d3.randomUniform(1, 10);
 
</script> 

Try d3-random in your browser.

API Reference

# d3.randomUniform([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:

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. 

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.

# d3.randomNormal([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.

# d3.randomLogNormal([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.

# d3.randomBates(n) <>

Returns a function for generating random numbers with a Bates distribution with n independent variables.

# d3.randomIrwinHall(n) <>

Returns a function for generating random numbers with an Irwin–Hall distribution with n independent variables.

# d3.randomExponential(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.