我正在尝试准确地重现带状图,以便我可以可靠地绘制线条并在其上书写。然而,当我生成带有抖动的带状图时,抖动是随机的,并阻止我实现目标。
我盲目地尝试了rcParams在其他 Stack Overflow 帖子中找到的一些方法,例如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()
Run Code Online (Sandbox Code Playgroud)
这段代码生成了一个stripplot就像我想要的那样。但是,如果您运行代码两次,由于抖动,您将得到不同的点位置。我正在制作的图表需要抖动才能看起来不荒谬,但我想在图表上写字。然而,在运行代码之前无法知道这些点的确切位置,并且每次运行代码时这些点都会发生变化。
有没有办法在seaborn中设置抖动种子,stripplots使它们完美再现?