Python 如何使用X和Y值向散点图添加抖动?

Python 如何使用X和Y值向散点图添加抖动?,python,python-3.x,matplotlib,linear-regression,jitter,Python,Python 3.x,Matplotlib,Linear Regression,Jitter,我已经创建了随机数据,并试图在散点图中添加抖动,但我不知道如何为X和Y值应用抖动?我有X和Y形式的数据,但不是作为数据传递给seabornplotting库的整体数据 def make_cubic_dataset(m, a=-3.0, b=1.0, c=3.5, d=4, mu=0.0, sigma=0.33): x = np.random.uniform(low=-1.0, high=1.0, size=(m,)) y = a*x**3 + b*x**2 + c*x

我已经创建了随机数据,并试图在散点图中添加抖动,但我不知道如何为X和Y值应用抖动?我有X和Y形式的数据,但不是作为数据传递给
seaborn
plotting库的整体数据

def make_cubic_dataset(m, a=-3.0, b=1.0, c=3.5, d=4, mu=0.0, sigma=0.33):

    x = np.random.uniform(low=-1.0, high=1.0, size=(m,))   
    y =  a*x**3 + b*x**2 + c*x + d + np.random.normal(mu,sigma)
    #generates a random number from the normal distribution with mu and sigma.
    return (x,y)

np.random.seed(42)
x,y = make_cubic_dataset(100)

print(x.shape)
print(y.shape)
print(x[:5])
print(y[:5])

plt.scatter(x, y)
plt.title("Random Artificial Cubic dataset")
plt.xlabel("x")
plt.ylabel("y")
plt.show()
输出:

预期产出


有谁能帮我一下吗?

您正在向整个y变量添加一个标量随机量,而不是一个随机分布的数字数组。以下内容将产生一个标准偏差
sigma
的正态分布随机数数组:

y =  a*x**3 + b*x**2 + c*x + d + np.random.randn(m)*sigma
结果:


谢谢你的帮助。我试图计算
截距
斜率
,和
确定系数
,但由于代码中的变化,我无法执行任何操作。错误是
使用数组重塑数据。如果数据具有单个特征或数组,则重塑(-1,1)。重塑(1,-1)如果它包含一个样本。
@MayurPotdar请接受这个答案,并用你的新错误提出一个新问题。你能告诉我如何将这条直线添加到给定的散点图中吗?只需将它添加到你的
plt.scatter
plt.plt.plot(np.unique(x),np.poly1d(np.polyfit(x,y,1))(np.unique(x)))
。非常感谢。这有助于我理解情节。我能够解决上述评论。再次感谢。