gpt4 book ai didi

python - 在 Python 中生成一条线上方和下方的随机点

转载 作者:行者123 更新时间:2023-11-28 22:24:21 28 4
gpt4 key购买 nike

我想在给定线上方或下方的 x,y 散点图上生成随机点。例如,如果线是 y=x,我想在图的左上角(线上方)生成一个点列表,在图的右下角(线下方)生成一个点列表。这是一个示例,其中点高于或低于 y=5:

import random
import matplotlib.pyplot as plt

num_points = 10
x1 = [random.randrange(start=1, stop=9) for i in range(num_points)]
x2 = [random.randrange(start=1, stop=9) for i in range(num_points)]
y1 = [random.randrange(start=1, stop=5) for i in range(num_points)]
y2 = [random.randrange(start=6, stop=9) for i in range(num_points)]

plt.scatter(x1, y1, c='blue')
plt.scatter(x2, y2, c='red')
plt.show()

Random point plot

但是,我独立生成了 x 和 y 点,这将我限制在方程式中,其中 y = c(其中 c 是常数)。我如何将其扩展到任何 y=mx+b?

最佳答案

您可以将 y1y2 的停止和开始限制更改为您想要的行。您需要决定飞机的终点(设置lowerupper)。

注意这只适用于整数。如果您想要更复杂的东西,可以使用截断的多元分布。

m, b = 1, 0
lower, upper = -25, 25

x1 = [random.randrange(start=1, stop=9) for i in range(num_points)]
x2 = [random.randrange(start=1, stop=9) for i in range(num_points)]

y1 = [random.randrange(start=lower, stop=m*x+b) for x in x1]
y2 = [random.randrange(start=m*x+b, stop=upper) for x in x2]

plt.plot(np.arange(10), m*np.arange(10)+b)
plt.scatter(x1, y1, c='blue')
plt.scatter(x2, y2, c='red')

enter image description here

关于python - 在 Python 中生成一条线上方和下方的随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46417259/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com