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之编写类之三子类
Oct 11 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
python插入排序算法实例分析
Jul 03 Python
Python实现登陆文件验证方法
Oct 06 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
python topk()函数求最大和最小值实例
Apr 02 Python
flask项目集成swagger的方法
Dec 09 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 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
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
php实现用户登陆简单实例
2017/04/04 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
Python中的闭包实例详解
2014/08/29 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
PHP统计代码行数的小代码
2019/09/19 Python
基于Python解密仿射密码
2019/10/21 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Django nginx配置实现过程详解
2020/09/10 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
请说出以下代码输出什么
2013/08/30 面试题
Java基础知识面试题
2014/03/25 面试题
公司前台接待岗位职责
2013/12/03 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB
win10更新失败无限重启解决方法
2022/04/19 数码科技