欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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,不会显示图形,而同等条件下别的散点图、直方图都可以正常运行,只有这个不行,求大神帮忙解决!