seaborn 教程中需要说明

Explanation required in seaborn tutorial

我正在学习seaborn http://seaborn.pydata.org/tutorial/aesthetics.html

在导入部分,请解释这一行

np.random.seed(sum(map(ord, "aesthetics")))

此行的作用,请解释此行中的每个元素。

在绘制偏移正弦波时如何定义这个

plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

最重要的是:这一行 np.random.seed(sum(map(ord, "aesthetics"))) 与 seaborn 的工作完全无关。所以原则上你根本不必担心它。

ord给出字符的字节表示

map 将一个函数应用于可交互的每个项目

sum 总结了一个可迭代的元素。

因此 map(ord, "aesthetics") 将给出一个数字列表,[97, 101, 115, 116, 104, 101, 116, 105, 99, 115] 将其相加后得到 1069

然后将此数字输入 np.random.seed。它是 numpy 随机数生成器的种子。通过指定种子,您可以确保之后绘制的任何随机数都基于此种子。

这样做的目的是使随机数可重现。指定种子后,我可以知道当生成像 np.random.randint(10) 这样的随机数时,结果将是 4(对于种子 1069)。

这对于使示例可重现非常有用,这也是他们在 seaborn 教程中使用它来确保从随机数生成的图实际上在任何地方都相同的原因。

当然有人可能会争辩说,使用这个命令比在重现教程时让人们看到不同的情节更让人困惑,但我想这是一个不同的问题。