# 随机漫步类
from random import choice
from matplotlib import pyplot as plt
from pylab import mpl
from matplotlib import rcParams class RandomWalk():
'''生成随机漫步的类''' def __init__(self, total_num=15000):
self.total_num = total_num
'''初始坐标(0,0)'''
self.x_values = [0]
self.y_values = [0] def get_step(self):
'''随机生成移动的方向和距离'''
diretion = choice([1, -1])
distance = choice([0, 1, 2, 3, 4, 5])
return diretion * distance def fill_walk(self):
'''计算随机漫步中所有的点'''
while len(self.x_values) < self.total_num:
'''计算前进方向和距离'''
x_step = self.get_step()
y_step = self.get_step() '''拒绝原地踏步'''
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) # 设置默认字体,解决中文显示乱码问题
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 解决负号'-'显示为方块的问题
rcParams['axes.unicode_minus'] = False # 随机漫步实例
rw = RandomWalk()
rw.fill_walk()
point_nunbers = list(range(rw.total_num)) # 调整绘图窗口尺寸,单位为英寸
plt.figure(figsize=(8, 6)) # 给点着色显示
plt.scatter(rw.x_values, rw.y_values, c=point_nunbers, cmap=plt.cm.Blues, s=1)
plt.title("随机漫步图", fontsize=18) # 突出起点和终点
plt.scatter(0, 0, c='green', s=30)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', s=20) # 隐藏坐标轴
# plt.axes().get_xaxis().set_visible(False)
# plt.axes().get_yaxis().set_visible(False) plt.show()

运行截图:

matplotlib之随机漫步的更多相关文章

  1. 今天给大家分享用Python matplotlib来写随机漫步的小程序

    先安装两个库: pip install matplotlib pip install numpy 引用库: import matplotlib.pyplot as mp import numpy as ...

  2. Matplotlib 随机漫步图

    import matplotlib.pyplot as plt from random import choice class Randomwalk(): def __init__(self,num_ ...

  3. Python 项目实践二(生成数据)第二篇之随机漫步

    接着上节继续学习,在本节中,我们将使用Python来生成随机漫步数据,再使用matplotlib以引人瞩目的方式将这些数据呈现出来.随机漫步是这样行走得到的路径:每次行走都完全是随机的,没有明确的方向 ...

  4. Python实现随机漫步

    随机漫步生成是无规则的,是系统自行选择的结果.根据设定的规则自定生成,上下左右的方位,每次所经过的方向路径. 首先,创建一个RandomWalk()类和fill_walk()函数 random_wal ...

  5. Python入门-随机漫步

    Python入门-随机漫步,贴代码吧,都在代码里面 代码1 class文件 random_walk.py from random import choice class RandomWalk(): # ...

  6. 【Python】随机漫步

    创建Randomwalk()类 我们将使用Python来生成随机漫步数据,再使用matplotlib以引入瞩目的方式将这些数据呈现出来 首先创建类Randomwalk() from random im ...

  7. NumPy 之 案例(随机漫步)

    import numpy as np The numpy.random module supplements(补充) the built-in Python random with functions ...

  8. python数据可视化(一)——绘制随机漫步图

    数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关. python有一系列的可视化和分析工具,最流行的工具之一是matplotlib,它是一个数学绘图库. 实现绘制随机漫步图   利用ra ...

  9. 数据可视化:使用python代码实现可视数据随机漫步图

    #2020/4/5 ,是开博的第一天,希望和大家相互交流学习,很开森,哈哈~ #像个傻子哟~       #好,我们进入正题, #实现功能:利用python实现数据随机漫步,漫步点数据可视化 #什么是 ...

随机推荐

  1. Objective-C 代码混淆

    代码混淆 参考链接: https://blog.csdn.net/yiyaaixuexi/article/details/29201699 http://fighting300.com/2017/04 ...

  2. Android学习之AndroidStudio新建工程报Open File报错处理

    在AndroidStudio中新建一个工程,报如下错误: 错误处理: 1.找到build.grandle(Module:app) 2.打开build.gradle(Module:app)文件如下图所示 ...

  3. js判断变量的类型(使用闭包来玩一把)

    var Type = (function() { var Type = {}; for (var i = 0, type; type = ['Undefined', 'Null', 'Boolean' ...

  4. Python文学家为Python写的一首词?(附中英文版)

    The Zen of Python, by Tim Peters (Python之禅 by Tim Peters) Beautiful is better than ugly. (优美胜于丑陋(Pyt ...

  5. python里面 循环明细对比 相同人员明细,生成同一订单里面

    #2018-04-16 def action_create_purc(self,cr,uid,ids,context=None): mrp_origin_obj=self.browse(cr,uid, ...

  6. c#静态构造函数 与 构造函数 你是否还记得?(转载)

    构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着.亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧.静态构造函数是在构造函数方法前面添加了stati ...

  7. 通过chrome浏览器分析网页加载时间

    今天趁着下班的时间看了下chrome浏览器的网页加载时间分析工具和相关文档,简单写点儿东西记录一下. 以百度首页加载为例,分析下一张图片1.jgp(就是背景图)的加载时间 看右侧的Timing标签,从 ...

  8. 把List<T>转换为DataTable

    下面这个学习,把List<T>转换为Datatable. 下面先创建一个对象T: class Ay { private int _ID; public int ID { get { ret ...

  9. Iterable接口

    Iterable接口 总览 这个接口用来表明可以进行迭代.具体的迭代方式,可以通过iterator()方法获取到一个迭代器,在迭代器中会实现如何获取下一个元素,以及是否迭代结束. java8中源码如下 ...

  10. [Oracle]数据库的Control File 取Dump后的样例

    [Oracle]数据库的Control File 取Dump后的样例: 片段截取-------------------------------(size = 40, compat size = 40, ...