python3.5绘制随机漫步图


Posted in Python onAugust 27, 2018

本文实例为大家分享了python3.5绘制随机漫步图的具体代码,供大家参考,具体内容如下

代码中我们定义两个模型,一个是RandomWalk.py模型,用于随机的选择前进方向。此模型中的RandomWalk类包含两个方法,一个是__init__(),一个是fill_walk(),后者是计算随机漫步的所有点。另外一个是rw_visual.py模型,用于绘制随机漫步图。

代码如下:

RandomWalk.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 * x_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(50000)
rw.fill_walk()
 
# 设置绘图窗口的尺寸
plt.figure(dpi=80,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,
 edgecolor='none',s=1)
 
# 突出起点和终点,起点设置为绿色,终点设置为红色
plt.scatter(0,0,c='green',edgecolor='none',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolor='none',s=100)
 
# 隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
 
plt.show()

效果如下:

python3.5绘制随机漫步图

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

Python 相关文章推荐
python操作MySQL数据库的方法分享
May 29 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python操作mysql代码总结
Jun 01 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
深入浅析Python 中 is 语法带来的误解
May 07 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
pandas进行数据输入和输出的方法详解
Mar 23 Python
Python反射和内置方法重写操作详解
Aug 27 #Python
Python使用matplotlib绘制随机漫步图
Aug 27 #Python
Python面向对象之继承和组合用法实例分析
Aug 27 #Python
Python干货:分享Python绘制六种可视化图表
Aug 27 #Python
python使用matplotlib库生成随机漫步图
Aug 27 #Python
Python面向对象之接口、抽象类与多态详解
Aug 27 #Python
python实现随机漫步算法
Aug 27 #Python
You might like
PHP输出XML格式数据的方法总结
2017/02/08 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
js动态切换图片的方法
2015/01/20 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
python实现简单温度转换的方法
2015/03/13 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
健康教育评估方案
2014/05/25 职场文书
党员年度个人总结
2015/02/14 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
建房合同协议书
2016/03/21 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers