随机漫游

  1. # random_flow.py 随机漫游
  2.  
  3. import random
  4.  
  5. class RandomFlow():
  6. """一个生成随机漫游数据的类"""
  7.  
  8. def __init__(self, num_points=5000):
  9. self.num_points = num_points
  10.  
  11. self.x_values = [0]
  12. self.y_values = [0]
  13.  
  14. def fill_walk(self):
  15. while len(self.x_values) < self.num_points:
  16. # To left or to right
  17. x_direction = random.choice([1, -1])
  18. x_distance = random.choice([0, 1, 2, 3, 4])
  19. x_step = x_direction * x_distance
  20.  
  21. y_direction = random.choice([1, -1])
  22. y_distance = random.choice([0, 1, 2, 3, 4])
  23. y_step = y_direction * y_distance
  24.  
  25. # must move
  26. if x_step == 0 and y_step == 0:
  27. continue
  28.  
  29. next_x = self.x_values[-1] + x_step
  30. next_y = self.y_values[-1] + y_step
  31.  
  32. self.x_values.append(next_x)
  33. self.y_values.append(next_y)
  1. # rf_visual.py 实现随机漫游
  2.  
  3. import matplotlib.pyplot as plt
  4. import random
  5.  
  6. from random_flow import RandomFlow
  7.  
  8. while True:
  9. rf = RandomFlow()
  10. rf.fill_walk()
  11.  
  12. plt.plot(rf.x_values, rf.y_values, color='b', linewidth=1)
  13.  
  14. plt.title('Random Flow', fontsize=24)
  15.  
  16. plt.axes().get_xaxis().set_visible(False)
  17. plt.axes().get_yaxis().set_visible(False)
  18.  
  19. filename = 'rf_' + str(random.randint(000000, 999999)) + '.png'
  20. plt.savefig('images/' + filename, bbox_inches='tight')
  21.  
  22. flag = input('Keep flowing? (Y/N): ')
  23. if flag.lower() not in ['y', 'yes']:
  24. break

Python编程:从入门到实践 - matplotlib篇 - Random Flow的更多相关文章

  1. Python编程:从入门到实践 - matplotlib篇 - Random Walk

    随机漫步 # random_walk.py 随机漫步 from random import choice class RandomWalk(): """一个生成随机漫步数 ...

  2. 《Python编程:从入门到实践》分享下载

    书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...

  3. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  4. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  5. Python编程从入门到实践笔记——类

    Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...

  6. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  7. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  8. Python编程从入门到实践笔记——字典

    Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...

  9. Python编程从入门到实践笔记——if语句

    Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...

随机推荐

  1. uva:10763 - Foreign Exchange(排序)

    题目:10763 - Foreign Exchange 题目大意:给出每一个同学想要的交换坐标 a, b 代表这位同学在位置a希望能和b位置的同学交换.要求每一位同学都能找到和他交换的交换生. 解题思 ...

  2. POJ 1106

    先判断是否在圆内,然后用叉积判断是否在180度内.枚举判断就可以了... 感觉是数据弱了.. #include <iostream> #include <cstdio> #in ...

  3. MRv1到MRv2

    概述 引入YARN作为通用资源调度平台后.Hadoop得以支持多种计算框架,如MapReduce.Spark.Storm等. MRv1是Hadoop1中的MapReduce,MRv2是Hadoop2中 ...

  4. Android訪问网络,使用HttpURLConnection还是HttpClient?

    原文地址:http://android-developers.blogspot.com/2011/09/androids-http-clients.html 大多数的Android应用程序都会使用HT ...

  5. PL SQL Developer client 连接server

    安装完Oracle,PLSQL之后,在server中打开监听. 计算机右键-管理-服务和应用程序-服务-打开以Oracle开头的服务,特别是监听,这个最重要.详细如图所看到的. (1)配置监听的位置 ...

  6. SQL SERVER的浮点数类型及与C#的对应关系

    SQL SERVER: float 与 real 7位数或15位数.这里说的位数,不是指小数位,而是包括整数和小数在内的位数. float的位数是多少,要看float[(n)]里的n数值是多少. n ...

  7. BZOJ 4517: [Sdoi2016]排列计数 错排+逆元

    4517: [Sdoi2016]排列计数 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i, ...

  8. POJ2228 Naptime 环形DP

    题目大意:牛在第i个小时睡觉能够恢复U[i]点体力.睡觉时第一小时不恢复体力.一天的N小时连着下一天的1小时.求能够恢复体力的和的最大值. 定义DP[i][j][0]为前i个小时休息了j个小时,i小时 ...

  9. oc4--方法

    // main.m // 第一个OC类-方法2 #import <Foundation/Foundation.h> // 1.编写类的声明 @interface Iphone : NSOb ...

  10. 6.11Realm简介

    CasRealm 统一认证授权中心  跟单点登录有关的.IniRealm 静态文件