Python实现随机漫步
随机漫步生成是无规则的,是系统自行选择的结果。根据设定的规则自定生成,上下左右的方位,每次所经过的方向路径。
首先,创建一个RandomWalk()类和fill_walk()函数
random_walk.py
from random import choice class Randomwalk ():
'''一个生成随机数漫步的类''' def __init__(self,num_point=5000):
'''初始化随机漫步的属性'''
self.num_point = num_point #所有随机漫步的开始都是坐标[0,0]
self.x_lab = [0]
self.y_lab = [0] def fill_walk(self):
'''计算随机漫步的所有点''' while len(self.x_lab) < self.num_point:
#决定前进方向以及前进的距离
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_lab[-1] + x_step
next_y = self.y_lab[-1] + y_step self.x_lab.append(next_x)
self.y_lab.append(next_y)
2、绘制随机漫步图
rw_visual.py
import matplotlib.pyplot as plt
from random_walk import Randomwalk
from random import choice rw = Randomwalk()
rw.fill_walk()
plt.scatter(rw.x_lab,rw.y_lab,s=15)
plt.show()
3、生成效果图片

4、修改代码-->隐藏边框
rw_visual.py
import matplotlib.pyplot as plt
from random_walk import Randomwalk
from random import choice while True:
rw = Randomwalk()
rw.fill_walk() #设置绘画窗口大小
plt.figure(dpi=128,figsize=(10,6)) point_numbers = list(range(rw.num_point))
#突出起点(0,0)和终点
plt.scatter(0,0,c='green',edgecolors='none',s=100)
plt.scatter(rw.x_lab[-1],rw.y_lab[-1],c='red',edgecolors='none',s=100) #隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False) plt.scatter(rw.x_lab,rw.y_lab,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=15)
plt.show() keep_running = input("Make another walk?(y/n): ")
keep_running = keep_running.lower()
if keep_running == 'n':
break
5、展示效果

Python实现随机漫步的更多相关文章
- Python入门-随机漫步
Python入门-随机漫步,贴代码吧,都在代码里面 代码1 class文件 random_walk.py from random import choice class RandomWalk(): # ...
- 【Python】随机漫步
创建Randomwalk()类 我们将使用Python来生成随机漫步数据,再使用matplotlib以引入瞩目的方式将这些数据呈现出来 首先创建类Randomwalk() from random im ...
- python应用-随机漫步
对python应用的一个巩固,以及熟悉matplotlib的用法 效果如下: # -*- coding: utf-8 -*- """ Created on Fri Sep ...
- Python 项目实践二(生成数据)第二篇之随机漫步
接着上节继续学习,在本节中,我们将使用Python来生成随机漫步数据,再使用matplotlib以引人瞩目的方式将这些数据呈现出来.随机漫步是这样行走得到的路径:每次行走都完全是随机的,没有明确的方向 ...
- python数据可视化(一)——绘制随机漫步图
数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关. python有一系列的可视化和分析工具,最流行的工具之一是matplotlib,它是一个数学绘图库. 实现绘制随机漫步图 利用ra ...
- 数据可视化:使用python代码实现可视数据随机漫步图
#2020/4/5 ,是开博的第一天,希望和大家相互交流学习,很开森,哈哈~ #像个傻子哟~ #好,我们进入正题, #实现功能:利用python实现数据随机漫步,漫步点数据可视化 #什么是 ...
- 今天给大家分享用Python matplotlib来写随机漫步的小程序
先安装两个库: pip install matplotlib pip install numpy 引用库: import matplotlib.pyplot as mp import numpy as ...
- 醉汉随机行走/随机漫步问题(Random Walk Randomized Algorithm Python)
世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random Walk)是一种解决随机问题的方法,它 ...
- python随机漫步
随机推荐
- C语言错题集
1.输入两个int型数a.b,求a/b的商c,不必考虑b为0的情况,输出c(保留两位小数) include<stdio.h> int main() { int a,b; float c; ...
- AHOI——Day1个人感悟
今天,是个bilibili的日子.(嗯?什么意思?) 洛谷已经尽力了: 于是我带着洛谷的祝福,来到了AHOI的考场--合肥一中. 其实我是考完才签到的,我一大早五点多就起来了,到考场后,在肯德基吃了早 ...
- python文件操作打开模式 r,w,a,r+,w+,a+ 区别辨析
主要分成三大类: r 和 r+ "读"功能 r 只读 r+ 读写(先读后写) 辨析:对于r,只有读取功能,利用光标的移动,可以选择要读取的内容. 对于r+,同时具有读和写 ...
- Notepad++编写运行python程序
Notepad++编写运行python程序. 1.菜单栏->语言->P->Python设置语言为Python 2.写好代码后ctrl+s保存文件为py文件 3.菜单栏->运行, ...
- Linux 云计算运维之路
搭建中小型网站的架构图 s1-2 Linux 硬件基础 s3-4 linux 基础 文件系统 用户权限 s5-6 Linux 标准输出 系统优化 目录结构 w7 rsync-备份服务器 w8 NFS服 ...
- vs C++ scanf 不安全
项目->属性-> c/c++->预处理器->预处理器定义->加入下面这句: _CRT_SECURE_NO_DEPRECATE
- Linux 防火墙管理及操作
1.关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止fire ...
- now
- 华为SSH认证配置
[设备型号]华为switch-S5700s ————1: [SW1] rsa/dsa local-key-pair create #创建本地密钥对 The key name will be: SW1_ ...
- 微软SSAS 错误 Internal error: Invalid enumeration value. Please call customer support! 不是此元素的有效值。
错误 118 Internal error: Invalid enumeration value. Please call customer support! 不是此元素的有效值. 错误 119 分析 ...