Matplotlib问题求助:随机漫步代码,各位路过的大神帮忙一下!
程序员文章站
2022-05-19 20:55:54
...
按照《Python编程:从入门到实践》一书中随机漫步章节的代码一字不差的编写,先后用pycharm、cmd、spyder进行运行,既不报错也不出结果。
先创建了一个名为“random_walk.py"的文件,代码如下:
from random import choice
class RandomWalk():
"""一个生成随机漫步数据的类"""
def __init__(self, num_points=5000):
"""初始化随机漫步的属性"""
self.num_points = num_points
# 所有随机漫步都始于(0,0),存储x y值的列表
self.x_values = [0]
self.y_values = [0]
# 生成漫步包含的点,并决定每次漫步的方向
def fill_walk(self):
# 不断漫步,直到列表达到指定的长度
while len(self.x_values) < self.num_points:
# 决定前进方向,向右1,左-1
x_direction = choice([1, -1])
# 以及沿这个方向前进的距离,0-4之间的随机整数,含0表示能沿y轴移动
x_distance = choice([0, 1, 2, 3, 4])
# 正则为向右,负为向左
x_step = x_direction * x_distance
y_direction = choice([1, -1])
y_distance = choice([0, 1, 2, 3, 4])
y_step = y_direction * y_distance
# 拒绝原地踏步
if x_step == 0 and y_step == 0:
continue
# 计算下一个点的x y值
next_x = self.x_values[-1] + x_step
next_y = self.y_values[-1] + y_step
# 附加到列表中
self.x_values.append(next_x)
self.y_values.append(next_y)
随后又创建了名为“rw_walk.py”的文件,来调用上面的模块,代码如下:
import matplotlib.pyplot as plt
from random_walk import RandomWalk
# 创建一个RandomWalk实例,并将其包含的所有点绘制出来
rw = RandomWalk()
rw.fill_walk()
plt.scatter(rw.x_values, rw.y_values, s=15)
plt.show()
所有的代码都与书中无异,该装的包也都安装了,网上不少方法也都试过了,运行之后只出现:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe C:/Users/Administrator/Desktop/study/Python_exercises/daily_exercises/rw_walk.py,不会显示图形,而同等条件下别的散点图、直方图都可以正常运行,只有这个不行,求大神帮忙解决!