Python中使用random随机函数与Matplotlib库绘制随机漫步图

一、概述

随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件。这些不确定性事件给我们带来恐慌的同时也带了希望,让我们即使在很困难的情境下也仍然相信机会会降临在我们身上。随机漫步理论最初源于经济学中,后来逐步溢出到其他的领域。在本文中,通过绘制随机漫步图直观的查看随机现象,也更进一步了解如何使用随机函数以及绘图功能。(更好的阅读体验,请移步我的个人博客)

二、代码演示

from random import choice, randint
import matplotlib.pyplot as pltclass RandomWalk():def __init__(self, walk_nums=100):self.walk_nums = walk_nums  # 移动的总次数self.x_values = [0]  # x轴方向轨迹坐标列表self.y_values = [0]  # y轴方向轨迹坐标列表def move(self):while len(self.x_values) < self.walk_nums:  # 直到轨迹坐标等于设置的移动次数为止x_direction = choice([-1, 1])  # x轴运动的方向,从-1,1中随机选择一个值x_distance = randint(0, 10)  # x轴运动的距离x_step = x_direction * x_distancey_direction = choice([-1, 1])  # y轴运动的方向y_distance = randint(0, 10)  # y轴运动的距离y_step = y_direction * y_distanceif x_step == 0 and y_step == 0:continue  # 略去坐标原点的值self.x_values.append(self.x_values[-1] + x_step)  # 将生成的点添加到坐标列表汇总self.y_values.append(self.y_values[-1] + y_step)# 开始绘制图像
randomwalk = RandomWalk(10000)
randomwalk.move()point_numbers = range(randomwalk.walk_nums)  # 绘图的时候用到这个参数,代表各个点的颜色都不尽相同,配合 cmap 参数使用。plt.scatter(randomwalk.x_values, randomwalk.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none',s=15)  # c 点的颜色个数,cmap 颜色值映射# 起点和终点高亮
plt.scatter(randomwalk.x_values[0], randomwalk.y_values[0], c='red', s=100)  # c代表颜色,s代表大小。
plt.scatter(randomwalk.x_values[-1], randomwalk.y_values[-1], c='red', s=100)# 隐藏x、y轴
plt.axes().get_xaxis().set_visible(True)
plt.axes().get_yaxis().set_visible(True)
# 显示运动轨迹图
plt.show()

Python中使用random随机函数与Matplotlib库绘制随机漫步图相关推荐

  1. Python学习-Matplotlib库绘制简单点阵图、线型图操作

    Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...

  2. python:将遥感数据使用matplotlib库绘制成图片

    作者:CSDN @ _养乐多_ 本文将介绍使用matplotlib库绘制遥感数据成图片的代码. 文章目录 一.示例代码 二.更换颜色条 三.自定义颜色条 四.分段离散颜色设置 一.示例代码 要加载本地 ...

  3. python中numpy.random.gamma()函数

    python中numpy.random.gamma()函数 根据官网,地址如下: https://www.w3cschool.cn/doc_numpy_1_11/numpy_1_11-generate ...

  4. 不是python中用于开发用户界面的第三方库-模拟试卷C

    原标题:模拟试卷C 一.单项选择题 1. 按照"后进先出"原则组织数据的数据结构是____ 队列 栈 双向链表 二叉树 2. 以下选项的叙述中,正确的是 循环队列有队头和队尾两个指 ...

  5. Python 数据分析与展示笔记3 -- Matplotlib 库基础

    Python 数据分析与展示笔记3 – Matplotlib 库基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展 ...

  6. python的matplotlib库绘制条形图、散点图、饼图、折线图

    python的matplotlib库绘制条形图.散点图.饼图.折线图 当我们学会了爬虫,抓取到了一些数据,接下来就是做数据分析了.本文章介绍绘制图形的基本代码. 打开cmd用pip 安装,若输入pip ...

  7. 【matplotlib库】利用matplotlib库绘制正余弦函数曲线的python程序,标注X、Y轴及标题|CSDN创作打卡

    使用python中的第三方库matplotlib绘制正余弦函数图形,并标注x,y轴以及标题等 ,绘制方法与matlab类似,可以说这里的matplotlib库便是Python中的matlab 程序代码 ...

  8. Python中的random函数

    Python中的random函数 random模块提供生成伪随机数的函数,在使用时需要导入random模块 1. random.random() 最基本的随机函数,返回一个[0.0,1.0)之间的随机 ...

  9. python中import random可以省略吗_import random函数 python中random什么意思

    python中random.randint(1,100)随机数中包不包括1在python中的random.randint(a,b)用于生成一个指定范围内的整数.其中参数a是下限,参数b是上限. imp ...

最新文章

  1. 黄煦涛教授逝世:获誉华人AI视觉鼻祖、一代宗师,完美家庭楷模
  2. 【数据结构与算法】之深入解析“课程表III”的求解思路与算法示例
  3. Linux下交叉编译gdb和gdbserver
  4. .NET Core使用gRPC打造服务间通信基础设施
  5. spring + groovy 转
  6. Alfresco 4 项目介绍
  7. linux smb服务安装包,samba安装包下载-linux服务器samba软件安装包下载 v4.10.6 官方最新版-IT猫扑网...
  8. 大数据之 Kafka API 从入门到放弃 (第四章)
  9. Windows系统下通过文件路径进入相应DOS界面
  10. Python爬取王者荣耀所有英雄以及高清大图
  11. 黑马程序员--java基础--集合(三)
  12. 安装SSL证书的网站被谷歌提升排名权重
  13. updateByPrimaryKeySelective和updateByPrimaryKey区别
  14. 【Matlab】MATLAB矩阵处理
  15. 前端接入facebook jsSDK,实现登录授权功能
  16. 了解Maxicode二维码
  17. 有了代码怎么用python爬虫_如何大量做外链 不仅正规而有效果
  18. 访问阿里云存储的图片URL实现在网页直接预览略缩图而不直接下载
  19. 一个Arial.ttf 找不到的异常的处理
  20. Arduino的图形化开发环境: ArduBlock

热门文章

  1. 程序员面试金典——7.3判断直线相交
  2. ubuntu16.04装机7:安装VScode
  3. python基础:os.path的相关操作
  4. kubernetes源码阅读笔记——Kubelet(之三)
  5. docker搭建swoole简易聊天室
  6. Vue.js 与 Webpack externals 的使用
  7. 使用ERStudio创建数据表与ER图
  8. 逻辑回归模型(Logistic Regression)及Python实现
  9. 通过SecureCRT和PuTTY连接臻云CentOS版云主机
  10. [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略