Python中random产生的随机高斯函数值如何结合matplotlib进行作图
pthon3.7
示例代码如下,如有帮助请点击一下采纳谢谢:
from random import choice, randint
import matplotlib.pyplot as plt
class RandomWalk():
def __init__(self, walk_nums=100):
self.walk_nums = walk_nums # 移动的总次数
self.x_values = [0] # x轴方向轨迹坐标列表
self.y_values = [0] # y轴方向轨迹坐标列表
def move(self):
while len(self.x_values) < self.walk_nums: # 直到轨迹坐标等于设置的移动次数为止
x_direction = choice([-1, 1]) # x轴运动的方向,从-1,1中随机选择一个值
x_distance = randint(0, 10) # x轴运动的距离
x_step = x_direction * x_distance
y_direction = choice([-1, 1]) # y轴运动的方向
y_distance = randint(0, 10) # y轴运动的距离
y_step = y_direction * y_distance
if x_step == 0 and y_step == 0:
continue # 略去坐标原点的值
self.x_values.append(self.x_values[-1] + x_step) # 将生成的点添加到坐标列表汇总
self.y_values.append(self.y_values[-1] + y_step)
# 开始绘制图像
randomwalk = RandomWalk(10000)
randomwalk.move()
point_numbers = range(randomwalk.walk_nums) # 绘图的时候用到这个参数,代表各个点的颜色都不尽相同,配合 cmap 参数使用。
plt.scatter(randomwalk.x_values, randomwalk.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none',
s=15) # c 点的颜色个数,cmap 颜色值映射
# 起点和终点高亮
plt.scatter(randomwalk.x_values[0], randomwalk.y_values[0], c='red', s=100) # c代表颜色,s代表大小。
plt.scatter(randomwalk.x_values[-1], randomwalk.y_values[-1], c='red', s=100)
# 隐藏x、y轴
plt.axes().get_xaxis().set_visible(True)
plt.axes().get_yaxis().set_visible(True)
# 显示运动轨迹图
plt.show()
看看下面的方法是否能解决你的问题:
# import the required libraries
import random
import matplotlib.pyplot as plt
nums = []
mu = 100
sigma = 501
for i in range(100):
temp = random.gauss(mu, sigma)
nums.append(temp)
plt.plot(nums)
plt.show()
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!