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实现设置windows桌面壁纸代码分享
Mar 28 Python
python中引用与复制用法实例分析
Jun 04 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
Python的迭代器和生成器
Jul 29 Python
python实现大转盘抽奖效果
Jan 22 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
Jan 14 Python
Python-opencv 双线性插值实例
Jan 17 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
关于python3.9安装wordcloud出错的问题及解决办法
Nov 02 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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(三)
2012/03/22 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
DOM事件探秘篇
2017/02/15 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
js实现简单贪吃蛇游戏
2020/05/15 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python实现汽车管理系统
2018/11/30 Python
举例讲解Python常用模块
2019/03/08 Python
通过实例解析Python return运行原理
2020/03/04 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
广告业务员岗位职责
2014/02/06 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
女生抽烟检讨书
2014/10/05 职场文书
2014年信访工作总结
2014/11/17 职场文书
承诺函范文
2015/01/21 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
Python实现Hash算法
2022/03/18 Python