matplotlib随机漫步

  • 创建RandomWalk类
    •   新建一个random_walk.py
    • 代码如下:
      from random import choice
      
      
      class RandomWalk():
          """一个生成随机漫步数据的类"""
      
          def __init__(self, num_points=5000):
              """初始化随机漫步的属性"""
              self.num_points = num_points
      
              # 所有随机漫步都始于(0,0)
              self.x_values = [0]
              self.y_values = [0]
      
          def fill_walk(self):
              """计算随机漫步包含的所有点"""
      
              # 不断漫步,直到列表到达指定的长度
              while len(self.x_values) < self.num_points:
                  # 决定前进方向以及沿这个方向前进的距离
                  x_direction = choice([1, -1])
                  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)
      

        

    • 绘制随机漫步图
    • 代码如下:
      mport matplotlib.pyplot as plt
      from random_walk import RandomWalk
      
      # 创建一个RandomWalk实例
      rw = RandomWalk()
      rw.fill_walk()
      plt.scatter(rw.x_values, rw.y_values, c='green', s=15)
      plt.show()
      

        

    • 运行结果:

猜你喜欢

转载自www.cnblogs.com/endian11/p/9071577.html