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 相关文章推荐
pycharm安装图文教程
May 02 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
Python3操作Excel文件(读写)的简单实例
Sep 02 Python
Centos7 下安装最新的python3.8
Oct 28 Python
Python上下文管理器全实例详解
Nov 12 Python
python__new__内置静态方法使用解析
Jan 07 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
Python sep参数使用方法详解
Feb 12 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
Django ValuesQuerySet转json方式
Mar 16 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
Python存储读取HDF5文件代码解析
Nov 25 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类
2006/11/27 PHP
实用函数7
2007/11/08 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
jQuery事件用法详解
2016/10/06 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python匿名函数及应用示例
2019/04/09 Python
Python基础知识点 初识Python.md
2019/05/14 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python numpy库np.percentile用法说明
2020/06/08 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
大学生撤销处分思想汇报
2014/09/12 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python