Python使用matplotlib绘制随机漫步图


Posted in Python onAugust 27, 2018

本文我们来做一个简单的随机漫步数据图,进一步了解matplotlib的使用,

使用Python生成随机漫步数据,再使用matplotlib绘制出来,

随机漫步是这样行走得到的路径: 每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的。
创建一个RandomWalk雷,随机的选择前进的方向,一共有三个属性,一个是存储随机漫步次数的变量,其他两个是列表,分别存储随机漫步经过的每个点的x和y坐标

下面是代码

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_distance * x_direction 
 
  y_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和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)
from random_walk import RandomWalk
 
# 不断的模拟随机漫步
while True:
 # 创建一个RandomWalk实例,将其包含的点绘制出来
 rw = RandomWalk()
 rw.fill_walk()
 
 
 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 = 5)
 
 # 突出起点和终点
 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.show()
 
 keep_running = input("Make another walk? (y/n): ")
 if keep_running.lower().startswith('n'):
 break

这是没有颜色渐变和绘制起始和结束点颜色和大小的图片

Python使用matplotlib绘制随机漫步图

这个是给出代码的运行情况,绿色为起始点,红色为终止点,越靠近终止点蓝色越深。

Python使用matplotlib绘制随机漫步图

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

Python 相关文章推荐
实现python版本的按任意键继续/退出
Sep 26 Python
Python中static相关知识小结
Jan 02 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
python 用下标截取字符串的实例
Dec 25 Python
Django的Modelforms用法简介
Jul 27 Python
python 实现屏幕录制示例
Dec 23 Python
初学者学习Python好还是Java好
May 26 Python
python实现视频压缩功能
Dec 18 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
Python面向对象之继承和组合用法实例分析
Aug 27 #Python
Python干货:分享Python绘制六种可视化图表
Aug 27 #Python
python使用matplotlib库生成随机漫步图
Aug 27 #Python
Python面向对象之接口、抽象类与多态详解
Aug 27 #Python
python实现随机漫步算法
Aug 27 #Python
Python3随机漫步生成数据并绘制
Aug 27 #Python
python如何生成各种随机分布图
Aug 27 #Python
You might like
第十三节--对象串行化
2006/11/16 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
Js的MessageBox
2006/12/03 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
旅游文化节策划方案
2014/06/06 职场文书
党支部考察意见范文
2015/06/02 职场文书