分散的情节Numpy Matplot

时间:2016-01-10 13:52:35

标签: python numpy matplotlib

我正在尝试在函数y = 2x周围创建一条散点的线。与正常函数(f(x))相比,这些点应该具有-0.5和0.5之间的随机偏差:

def f(x):
    return 2 * x

def g(x):
    return f(x) - np.random.uniform(-0.5, 0.5)

x = np.linspace(0, 5, 51)
y = f(x)
y2 = g(x)

# plot
plt.plot(t, y, 'b-')
plt.plot(t, y, 'ro')
plt.show()

当然,y2现在将是一条散乱的线,其中所有点具有相同的偏差,因为所有点的随机数都相同。现在我想知道我是如何做到的,所以每个点都会有一个随机偏差(所以我怎么能对每个点单独执行一个动作)。提前谢谢!

1 个答案:

答案 0 :(得分:1)

是:将size=(51,)(或更好,使用x数组的形状)传递给np.random.uniform(),从统一分布中抽取多个样本:

import numpy as np
import matplotlib.pyplot as plt
def f(x):
    return 2 * x

def g(x):
    return f(x) - np.random.uniform(-0.5, 0.5, size=x.shape)

x = np.linspace(0, 5, 51)
y = f(x)
y2 = g(x)

# plot
plt.plot(x, y, 'b-')
plt.plot(x, y2, 'ro')
plt.show()

enter image description here