如何为海底剥离图中的抖动设置种子?

问题描述 投票:0回答:1

我正在尝试精确地复制带状图,以便我可以画线并可靠地在它们上写字。但是,当我生成带有抖动的带状图时,抖动是随机的,从而使我无法实现自己的目标。

我盲目尝试了在其他StackOverflow帖子中发现的一些rcParam,例如mpl.rcParams['svg.hashsalt']无效。我也尝试为random.seed()设置种子,但没有成功。

我正在运行的代码如下。

import seaborn as sns
import matplotlib.pyplot as plt
import random

plt.figure(figsize=(14,9))

random.seed(123)

catagories = []
values = []

for i in range(0,200):
    n = random.randint(1,3)
    catagories.append(n)

for i in range(0,200):
    n = random.randint(1,100)
    values.append(n)

sns.stripplot(catagories, values, size=5)
plt.title('Random Jitter')
plt.xticks([0,1,2],[1,2,3])
plt.show()

此代码会像我想要的那样生成一个剥离图。但是,如果您运行两次代码,由于抖动,您将获得不同的位置。我正在制作的图形要求抖动不显得荒谬,但我想在图形上书写。但是,在运行代码之前无法知道这些点的确切位置,而每次运行代码时,这些位置都会改变。

是否有任何方法可以为海底条形图上的抖动设置种子,使其完全可重现?

python matplotlib seaborn seed jitter
1个回答
0
投票

将NumPy的random.randint()与固定的随机种子一起使用会很好,并且在每次运行期间都会生成相同的数据。您可能会参考random.randint()帖子,以了解this]的异常行为

random.seed()
© www.soinside.com 2019 - 2024. All rights reserved.