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字符串替换实例分析
May 11 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
python交互式图形编程实例(三)
Nov 17 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python画图常规设置方式
Mar 05 Python
Python中无限循环需要什么条件
May 27 Python
Python函数参数定义及传递方式解析
Jun 10 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 Python
Django Paginator分页器的使用示例
Jun 23 Python
python manim实现排序算法动画示例
Aug 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
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP插入排序实现代码
2013/04/04 PHP
php中的比较运算符详解
2013/10/28 PHP
php加密解密实用类分享
2014/01/07 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python中元组,列表,字典的区别
2017/05/21 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python自动发送邮件脚本
2018/06/20 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
自我鉴定思想方面
2013/10/07 职场文书
幼儿教师研修感言
2014/02/12 职场文书
情人节寄语大全
2014/04/11 职场文书
产品包装策划方案
2014/05/18 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
六查六看剖析材料
2014/10/06 职场文书
2014年财务科工作总结
2014/11/11 职场文书
补充协议书
2015/01/28 职场文书
2015年度招聘工作总结
2015/05/28 职场文书