首先我们创造一个名为RandomWalk的类,它需要三个属性

一是储存随机漫步次数的变量,其他俩个是储存漫经过的x和y

我们使用的是choice()来选择

这里我们默认 的点数为5000,足够生成一个奇妙的图形

每次漫步从(0,0)出发

from random import choiceclass 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_distance * x_directiony_direction = choice([1, -1])y_distance = choice([0, 1, 2, 3, 4])y_step = y_distance * y_direction# 拒绝原地踏步if x_step == 0 and y_step == 0:continue# 计算下一个点的x和ynext_x = self.x_values[-1] + x_stepnext_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)

在fill_walk()我们做了一个循环,直到漫步包含所需数量的点。

使用choice()进行选择上下左右的随机挑选

最后设置了不能原地踏步,拒绝这样的情况,接着执行下一次循环。、

绘制随机漫步图

我们要导入pyplot和RandomWalk类,然后创建RandomWalk实例储存到rw中,在调用fill_walk()

import matplotlib.pyplot as plt
from random_walk import RandomWalkwhile True:rw = RandomWalk(50000)rw.fill_walk()# 设置绘制窗口的尺寸plt.figure(dpi=100, figsize=(10, 6))point_numbers = list(range(rw.num_points))plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=1)# 突出起点,终点plt.scatter(0, 0, c='green', edgecolors='none', s=10)plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=10)# 隐藏坐标轴plt.axis('off')plt.show()keep_running = input("Make another walk? (y/n):")if keep_running == 'n':break

plt.axis()可以修改坐标轴,隐藏起来

函数figure()用于指定图标的宽度,高度,分辨率和背景色,指定一个元组指出尺寸为英寸

形参dpi则是传递分辨率

plt.figure(dpi=100, figsize=(10, 6))

python之随机漫步数据相关推荐

  1. 【Python】随机漫步

    欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行.动静不失其时,其道光明. 目录 1.缘起 2.创建 RandomWalk 类 3.随机选择方向 4.绘制随机漫步图 5.总结 ...

  2. Python模拟随机漫步

    本文用Python模拟随机漫步行为. 1 使用内建的的random模块 import randomposition = 0 walk = [position] steps = 1000 for i i ...

  3. 手把手讲解python在随机漫步理论的应用

    随机漫步理论–python手把手讲解 随机漫步理论是由Karl Pearson 于1905年提出的,它是一种变化形式,在运动过程中每一步都是随机,没有明确的方向.这个在自然界.物理学.生物学.化学和经 ...

  4. 使用python实现随机正态分布数据,并导出到表格(超详细)

    文章目录 一.前言 二.使用步骤 1.引入库 2.随机正态分布生成算法 2.1.利用np.random.normal函数生成二维数据 2.2.利用for循环生成100*100数据 3.生成分布图 4. ...

  5. python mongodb 随机抽取数据

    import sys import importlib importlib.reload(sys)#需要xlwt库的支持 from xlwt import * #指定file以utf-8的格式打开 f ...

  6. Python 生成随机经纬度数据

    Python 生成随机经纬度 Description: python 自动生成经纬度, 该脚本适用于python3, 如果是python2请把# from __future__ import divi ...

  7. python怎么随机生成数据_Python-随机生成数据

    from random importchoice,randintimportstringimportcodecsimportrandomimportopenpyxlimporttimefrom ope ...

  8. 【Python】随机划分数据集并生成VOC格式列表

    1.Introduction 做目标检测时,用LabelImg生成的 xml 文件需要和对应的图片文件名,生成VOC格式列表.同时需要按照一定比例划分为训练集.验证集和测试集. 2.Materials ...

  9. 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解

    目录 1.绘制随机漫步 2.模拟多次随机漫步 3.给点着色 4.重新绘制起点和终点 5.隐藏坐标轴 随机漫步是指每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的. 为模拟随机漫步, ...

  10. python随机画散点图-python散点图实例之随机漫步

    随机漫步是这样行走得到的途径:每次行走都是完全随机的,没有明确的方向,结果是由一系列随机决策决定的. random_walk.py #random_walk.py from random import ...

最新文章

  1. RecycleView的notifyItemRemoved使用注意
  2. 换人!这些算法都不会还搞什么操作系统
  3. 计算机网络(第七版)谢希仁编著 第一章习题详解1-28
  4. 慕课学习--DNS的作用
  5. 面向对象程序设计上机练习五(类和对象)
  6. Android Studio实现一个校园二手交易系统
  7. [渝粤教育] 西南科技大学 电气CAD 在线考试复习资料
  8. matlab 三角函数积分,正弦函数与三角函数积分及Matlab编程.doc
  9. EyouCms1.0前台GetShell漏洞复现
  10. php 上传文件大小设置,调整PHP上传文件大小限制
  11. Vin码车架号识别技术已经很成熟了
  12. 模拟人生5显示与服务器,模拟人生5之人生无限
  13. utc时间 单位换算_UTC时间和GMT时间 | 圈里圈外
  14. Couch-to-5K 跑步计划
  15. C++程序避免触发 Win7下的程序兼容助手
  16. 国外著名大学计算机教学考察随笔
  17. 又一位程序员要去IPO敲钟:40岁,知乎老板做出200亿
  18. 调试winddows程序(windbg 和 Debug Diagnostic Tool)
  19. GPS接收机(四)--基于STM32和GU620的GPS接收机搭建
  20. 基于stm32的视觉和蓝牙控制F407芯片智能机械臂控制小车

热门文章

  1. 浮点运算方法和浮点运算器
  2. java判断英文符号_Java判断中英文符号、标点的实现
  3. Win系统 - 电脑一直停在正在关机的界面怎么办?
  4. 中国大学慕课python测验八答案_中国大学慕课Python编程基础章节测验答案
  5. JavaScript教程-18-JavaScript中的内置对象Global
  6. 力扣刷题 DAY_69 回溯
  7. FPGA学习-PS2接口
  8. 以下关于python缩进的描述_以下关于Python缩进的描述中,错误的是
  9. 为什么总是感觉压力很大?应该怎么办?
  10. 无法使用内置管理器打开计算机,win10系统无法使用内置管理员账户打开计算器的解决方法...