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 相关文章推荐
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Python之循环结构
Jan 15 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
Django REST framework内置路由用法
Jul 26 Python
python实现的读取网页并分词功能示例
Oct 29 Python
PyCharm下载和安装详细步骤
Dec 17 Python
Python enumerate内置库用法解析
Feb 24 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
python suds访问webservice服务实现
Jun 26 Python
Django如何与Ajax交互
Apr 29 Python
如何利用Python实现一个论文降重工具
Jul 09 Python
python 安全地删除列表元素的方法
Mar 16 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根据生日计算年龄的方法
2015/07/13 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
javascript调试说明
2010/06/07 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
面包屑导航详解
2017/12/07 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
Vue $attrs &amp; inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
javascript代码实现简易计算器
2021/01/25 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
用python读写excel的方法
2014/11/18 Python
python实现的简单文本类游戏实例
2015/04/28 Python
Python模拟三级菜单效果
2017/09/11 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python读写压缩文件的方法
2020/07/30 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
工程安全员岗位职责
2014/03/09 职场文书
办护照工作证明
2014/10/01 职场文书
80后婚前协议书范本
2014/10/24 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python