python散点图实例之随机漫步


Posted in Python onAugust 27, 2018

随机漫步是这样行走得到的途径:每次行走都是完全随机的,没有明确的方向,结果是由一系列随机决策决定的。

random_walk.py

#random_walk.py
from random import choice
# -*- coding: utf-8 -*-
class RandomWalk():
  #一个生成随机漫步数据的类

  def __init__(self,num_points=5000):
   self.num_points=num_points
   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*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.py

#rw.py
# coding=gbk
import matplotlib.pyplot as plt
from random_walk import RandomWalk


while True:
  rw=RandomWalk()
  rw.fill_walk()

  #设置绘图窗口的尺寸
  plt.figure(dpi=128,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,s=15)

  #突出起点和终点
  plt.scatter(0,0,c='green',s=100)
  plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',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=='n':
   break

效果图:

python散点图实例之随机漫步

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

Python 相关文章推荐
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
Python使用pylab库实现画线功能的方法详解
Jun 08 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
Python Json序列化与反序列化的示例
Jan 31 Python
对pandas中Series的map函数详解
Jul 25 Python
python简单实现AES加密和解密
Mar 28 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
python如何实现单链表的反转
Feb 10 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
浅析Python requests 模块
Oct 09 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 Python
python3.5绘制随机漫步图
Aug 27 #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
You might like
PHP的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
详解Python3中的Sequence type的使用
2015/08/01 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
python装饰器原理与用法深入详解
2019/12/19 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
爱之链教学反思
2014/04/30 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
员工旷工检讨书
2015/08/15 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL