Python编程:从入门到实践 - matplotlib篇 - Random Flow
2024-08-25 21:36:24
随机漫游
# random_flow.py 随机漫游 import random class RandomFlow():
"""一个生成随机漫游数据的类""" 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:
# To left or to right
x_direction = random.choice([1, -1])
x_distance = random.choice([0, 1, 2, 3, 4])
x_step = x_direction * x_distance y_direction = random.choice([1, -1])
y_distance = random.choice([0, 1, 2, 3, 4])
y_step = y_direction * y_distance # must move
if x_step == 0 and y_step == 0:
continue 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)
# rf_visual.py 实现随机漫游 import matplotlib.pyplot as plt
import random from random_flow import RandomFlow while True:
rf = RandomFlow()
rf.fill_walk() plt.plot(rf.x_values, rf.y_values, color='b', linewidth=1) plt.title('Random Flow', fontsize=24) plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False) filename = 'rf_' + str(random.randint(000000, 999999)) + '.png'
plt.savefig('images/' + filename, bbox_inches='tight') flag = input('Keep flowing? (Y/N): ')
if flag.lower() not in ['y', 'yes']:
break
最新文章
- C#非常重要基础之多态
- ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
- UP Board 妄图启动ubilinux失败
- Net 分页功能的实现
- 使用joi来验证数据模型
- Java虚拟机学习(5):类加载器(ClassLoader
- RHEL 7.0 本地配置yum源
- C语言中static变量详解
- Delete PeopleSoft Query From the Database
- SFTP文件上传与下载
- HDU 4798 - Skycity
- linux 安装 Chrome
- 利用NSURLSession下载视频,图片,能实现断点续传
- CSS深入理解流体特性和BFC特性下多栏自适应布局
- java.lang包【Object类】
- Java中byte、short、char、int、long运算时自动类型转化问题
- 在Visual Sutdio 2017中使用boost库
- Android CollapsingToolbarLayout使用介绍
- (C/C++学习笔记) 二十四. 知识补充
- a.每个 HTML 文件里开头都有个<;!DOCTYPE>;
热门文章
- hdoj 1257最少拦截系统
- HDU 3644
- How to run Java main class and pass application arguments in Maven?
- [React Native] Target both iPhone and iPad with React Native
- 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(三)
- Intent 使用方法全面总结
- Git与SVN区别 \git学习
- C语言读取文件大量数据到数组
- 网络 - TCP/IP四层模型,面向生产
- Excel数据迁移到SQL Server遇到的若干问题