Python3随机漫步生成数据并绘制


Posted in Python onAugust 27, 2018

本文为大家分享了Python3随机漫步生成数据并绘制的具体代码,供大家参考,具体内容如下

random_walk.py

from random import choice
#生成随机漫步的数据类
class RandomWalk():
 def __init__(self,num_points=5000): #初始化随机漫步的属性
  self.numpoints=num_points  #随机漫步的默认点数
  self.x_values=[0]     #所有的随机漫步都始于(0.0)
  self.y_values=[0]
 def fill_walk(self):
  while len(self.x_values)<self.numpoints:
   #决定前进方向及前进方向的距离
   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)

rw_visual.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.scatter(0,0,c='green',edgecolors='none',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c="red",edgecolors='none',s=100)
#隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
#设置窗口的屏幕分辨率和尺寸
plt.figure(dpi=128,figsize=(10,6))
plt.show()

结果图:

Python3随机漫步生成数据并绘制

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python删除不需要的python文件方法
Apr 24 Python
python opencv实现运动检测
Jul 10 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
python调用staf自动化框架的方法
Dec 26 Python
基于python纯函数实现井字棋游戏
May 27 Python
python中常见错误及解决方法
Jun 21 Python
Python 合并拼接字符串的方法
Jul 28 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
浅析Python 责任链设计模式
Sep 11 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 Python
python缺失值的解决方法总结
Jun 09 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
python如何生成各种随机分布图
Aug 27 #Python
python随机数分布random测试
Aug 27 #Python
pycharm安装和首次使用教程
Aug 27 #Python
Windows下PyCharm安装图文教程
Aug 27 #Python
python 3.7.0 安装配置方法图文教程
Aug 27 #Python
python 3.7.0 下pillow安装方法
Aug 27 #Python
python3.7.0的安装步骤
Aug 27 #Python
You might like
mysql 性能的检查和优化方法
2009/06/21 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
举例讲解Python中装饰器的用法
2015/04/27 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
python实现自动登录
2018/09/17 Python
python使用knn实现特征向量分类
2018/12/26 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
浅谈Python 递归算法指归
2019/08/22 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
中学生团员自我评价分享
2013/12/07 职场文书
安全大检查实施方案
2014/02/22 职场文书
人事经理岗位职责
2014/04/28 职场文书
技术负责人岗位职责
2015/02/10 职场文书
心术观后感
2015/06/11 职场文书
会计入职心得体会
2016/01/22 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS