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删除文件示例分享
Jan 28 Python
python数据类型_字符串常用操作(详解)
May 30 Python
利用Python进行异常值分析实例代码
Dec 07 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
python 多线程重启方法
Feb 18 Python
python加载自定义词典实例
Dec 06 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
关于python 跨域处理方式详解
Mar 28 Python
Python中socket网络通信是干嘛的
May 27 Python
python爬虫请求头设置代码
Jul 28 Python
Python grpc超时机制代码示例
Sep 14 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
Python的时间模块datetime详解
2017/04/17 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
如何在django中添加日志功能
2020/02/06 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
python线程优先级队列知识点总结
2021/02/28 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
迟到检讨书800字
2014/01/13 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
最新离婚协议书范本
2014/08/19 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
Python实现天气查询软件
2021/06/07 Python
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫