返回介绍

d3-random

发布于 2020-01-03 13:07:51 字数 4540 浏览 1231 评论 0 收藏 0

以各种分布类型为基础生成随机数.

Installing

NPM:npm install d3-random。也可以下载 latest release. 还可以直接从 d3js.org, 加载 standalone library 或作为 D3 4.0 的一部分引入. 支持 AMD, CommonJS 以及最基本的标签引入,通过标签引入会暴露 d3 全局变量:

<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]) <>

返回一个服从uniform distribution(一般分布)的随机数生成函数。随机数区间最小值和最大值由 minmax 参数决定。如果没有指定 min 则默认为 0,如果没有指定 max 则默认为 1。例如:

d3.randomUniform(6)(); // 返回一个大于等于 0 且小于 6 的随机数.
d3.randomUniform(1, 5)(); // 返回一个大于等于 1 且小于 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) <>

返回一个具有 n 个独立变量的服从 Irwin–Hall distribution(Irwin-Hall 分布) 的随机数生成函数。

d3.randomExponential(lambda) <>

返回一个服从 exponential distribution(指数分布) 的随机数生成函数。其中率参数为 lambda ;等价于给定时间区间内均值为 1 / lambdaPoisson process(泊松过程) 时间发生次数。例如,exponential(1/40) 表示在平均每 40 个单位时间内发生一次事件之间的随机时间。

random.source(source)

返回用于生成随机数的相同类型的函数,但给定的随机数生成器源用作随机数的来源而不是Math.random。给定的随机数生成器必须实现与 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文