d3-random

从各种分布中生成随机数。

Installing

如果你使用npm,请键入npm install d3-random。否则,请下载最新版本。你也可以直接从d3js.org加载,作为standalone library(独立库)或D3 4.0的一部分来使用。支持AMD,CommonJS和vanilla环境。在vanilla环境下,会输出一个全局的d3

<script src="https://d3js.org/d3-random.v1.min.js"></script>
<script>

var random = d3.randomUniform(1, 10);

</script>

API Reference

d3.randomUniform([min, ][max])

返回一个用uniform distribution(均匀分布)生成随机数的函数。返回数字的最小值为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.

注意:您还可以使用内置的Math.random直接生成均匀分布。例如,随机生成一个0-99(含)间的整数,你可以这样写Math.random() * 100 | 0

d3.randomNormal([mu][, sigma])

返回一个用normal (Gaussian) distribution(正态分布)生成随机数的函数。生成数字的期望值为mu,标准差为sigma。如果不指定mu,则默认为0;如果不指定sigma,则默认为1。

d3.randomLogNormal([mu][, sigma])

返回一个用log-normal distribution(对数正态分布)生成随机数的函数。随机变量的自然对数的期望值为mu,标准差为sigma。如果不指定mu,则默认为0;如果不指定sigma,则默认为1。

d3.randomBates(n)

返回一个用Bates distribution(贝茨分布)和自变量n生成随机数的函数。

d3.randomIrwinHall(n)

返回一个用Irwin–Hall distribution(欧文霍尔分布)和自变量n生成随机数的函数。

d3.randomExponential(lambda)

返回一个用exponential distribution(指数分布)和lambda生成随机数的函数;相当于Poisson process(泊松过程)中均值为1/lambda时事件发生的间隔时间。例如,一个事件平均每40个单位时间发生一次。

random.source(source)

返回用于生成随机数的同类型函数,但是给定的随机数生成器会替换Math.random用作随机数的来源。给定的随机数生成器必须和Math.random一样只返回[0,1)之间的值。给定随机数生成必须实现和Math.random相同的接口,返回值只在[ 0, 1)之间。这在底层随机数生成器比Math.random更好时非常有用。例如:

var d3 = require("d3-random"),
    seedrandom = require("seedrandom"),
    random = d3.randomNormal.source(seedrandom("a22ebc7c488a3a47"))(0, 1);

random(); // 0.9744193494813501

results matching ""

    No results matching ""