Day29 D3js d3-random 方便产乱数的小工具

D3js d3-random 方便产乱数的小工具

用途

有时候Demo时或开发某些功能时,可能需要乱数产生,利用原生js太麻烦了,懒人就得用d3提供的乱数方法。

d3.randomInt

直接产出区间的一整数。

let r6 = d3.randomInt(6);

console.log(r6()); // 0-5
let r6 = d3.randomInt(1, 6);

console.log(r6()); // 1-5

d3.randomNormal

可指定期望值,以及标准差。

let r = d3.randomNormal(0.5, 0.13);

r();

d3.randomNormal

Irwin–Hall distribution 分布。

将12个服从均匀分布的随机数相加可以产生服从参数为12的欧文–贺尔分布的随机数,再减6,就得到近似服从标准正态分布的随机数

let r = d3.randomIrwinHall(9);

random.source

可以给予一个种子数[0, 1],生成变数将会参照种子开始生成,将不会是随机数。

const d3 = require("d3-random");
const seed = 0.44871573888282423; // any number in [0, 1)
const random = d3.randomNormal.source(d3.randomLcg(seed))(0, 1);

random(); // -0.6253955998897069

结论

很好用的API,其实大部分的d3.random都是针对特定统计相关开发使用,许多API在非资料统计计算相关可能用不上。

参考

d3-random
Irwin–Hall distribution


<<:  Day 29 Work with ElasticCloud-2

>>:  op.29 《全领域》-全域开发实战 - 居家植物盆栽 Mvt IV (Flutter)

[Matplotlib] - Introduction to Charts and Plots

ax.subplots() bar Plotting time-series Quantitativ...

Day04 把捷径真的变“捷径”吧

Hello 大家 今天是连假第二天, 突然想到前两年在写文章的时候好像也有遇到中秋连假, 去年我好像...

[Day19] Esp32用AP mode + AHT10

1.前言 今天进入到连假第三天了,大家是不是开始要收心了呢?!(我不想面对现实阿)。虽然是连假但是挑...

Flutter学习Day5 Widget StatelessWidget => StatefulWidget 实作

大家安安 晚上好~~ 今天要把专案里的StatelessWidget 更改成为 StatefulWi...

IT 铁人赛 k8s 入门30天 -- day10 K8s Ingress explained

前言 今天将会讲解 Ingress 这个元件 包括用途, 用法还有实际案例 什麽是 Ingress ...