首先我们创造一个名为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. C++中类的继承方式的区别以及private public protected 范围
  2. Data Structure_Sort Algorithm
  3. layui table 滚动 键盘
  4. python压缩包怎么安装-详解python解压压缩包的五种方法
  5. ES6--基础语法(一)
  6. 创建一个类 new 与 不加new 有什么区别?
  7. 《每日一题》842. Split Array into Fibonacci Sequence 将数组拆分成斐波那契序列
  8. CSS背景属性彻底研究
  9. 借钱,一定要有还钱的素质
  10. Insert插入不同的列数量,统计信息对比
  11. 高性能apache服务器配置大并发教程MPM模块配置
  12. 解决方案:加盐加密算法BCrypt
  13. UML类图(上):类、继承和实现
  14. 离开,是一个新的开始
  15. photoshopcs6快捷键
  16. vue项目实现高德地图截图
  17. eltable 无数据文案修改_写文案不断打磨修改,让你的文案简单易懂
  18. 实时互动下视频 QoE 端到端轻量化网络建模
  19. mysql meb_教你如何恢复使用MEB备份的MySQL数据库
  20. 【软件测试】测试点总结,收取短信验证码的测试(详全),你的即用宝典......

热门文章

  1. 大点干!早点散----------深入剖析LVS负载均衡群集原理
  2. 城里人看呆!没想到现在景区都这么会玩了
  3. TriangleCount三角形计数
  4. linux mysql统计次数_按条件计数 - MySQL统计函数记录_数据库技术_Linux公社-Linux系统门户网站...
  5. python版CSDN博客备份工具
  6. srm32定时器的ETR功能
  7. 中间件技术及双十一实践·EagleEye篇
  8. 战地2142 我喜欢...
  9. python从入门学习笔记
  10. PMBOK(第六版) 学习笔记 ——《第五章 项目范围管理》