当前位置: 首页 > 文档资料 > D3.js 帮助文档 >

d3-random

优质
小牛编辑
114浏览
2023-12-01

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

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

最后更新:

类似资料

  • 以各种分布类型为基础生成随机数. Installing NPM:npm install d3-random。也可以下载 latest release. 还可以直接从 d3js.org, 加载 standalone library 或作为 D3 4.0 的一部分引入. 支持 AMD, CommonJS 以及最基本的标签引入,通过标签引入会暴露 d3 全局变量: <script src="https:

  • 视图移动以及缩放是一种将用户注意力聚焦在感兴趣区域的一种流行的交互技术。操作直接,容易理解: 点击并拖拽平移,使用滚轮进行缩放,当然也可以通过触摸进行。平移和缩放被广泛的应用在地图中,但是也可被应用到其他的可视化比如时间序列以及散点图中。 缩放行为通过 d3-zoom 模块实现,能方便且灵活到 selections 上。它处理了许多 Installing NPM 安装: npm install d

  • 这个模块实现了用来计算一组二维点 Voronoi diagram(泰森多边形) 或 Delaunay triangulation(德劳内三角剖分) 的 Steven J. Fortune’s algorithm 算法。这个模块的实现大多是基于 Raymond Hill 的工作。 泰森多边形不仅仅在视觉上具有吸引力,在交互方面也非常实用,比如在散点图中增加点的目标面积。参考 “Strikeouts

  • transition 是一个类 selection 的接口,用来对 DOM 进行动画修改。这种修改不是立即修改,而是在规定的事件内平滑过渡到目标状态。 应用过渡,首先要选中元素,然后调用 selection.transition,并且设置期望的改变,例如: d3.select("body") .transition() .style("background-color", "red")

  • 这个模块提供了一个高效的队列,能管理上千并发动画同时保证与并发或分段动画一致的同步时序。在内部使用 requestAnimationFrame 进行 fluid animation(如果支持的话),否则切换使用 setTimeout来实现。 Installing NPM 安装: npm install d3-timer. 此外还可以下载 latest release。也可以直接从 d3js.org

  • 在可视化时间序列数据、分析时间模式或处理一般时间时,常规时间单位的不规则性很快就变得明显起来。在 Gregorian calendar(公历) 中,大多数月份有 31 天但是有些月份只有 28 或者 29、30 天。大多数年份有 365 天但是 leap years(闰年) 有 366 天。在 daylight saving(夏令时) 中一天可能有 23 25 小时。更复杂的是世界各地的夏时制不同