美文网首页Python自学笔记
matplotlib实现随机漫步

matplotlib实现随机漫步

作者: 第六九书 | 来源:发表于2020-03-18 22:52 被阅读0次

matplotlib实现随机漫步

本人小白,自学Python,本部分内容是自学《Python编程 从入门到实践》的随手笔记。案例及代码均为教材中的案例。

在自然界中,物理学、生物学、化学和经济领域,随机漫步都有其实际用途。例如,漂浮在水面上的花粉因不断受到水分子的作用而在水面上随机移动,水滴中的分子运动是随机的,因此花粉在水面上的运动犹如随机漫步,本例就是将随机漫步的结果以图表的形式呈献出来。

思路:将随机漫步的坐标存入在两个坐标中,再用scatter()绘制出来。

一、创建一个类,指定程序所需的变量及相互关系

class RandomWalk():
   '''生成一个随机漫步数据的类'''
   
   def __init__(self,num_points=5000):
   '''初始化随机漫步的属性'''
   self.num_points = num_points

   # 所有随机漫步都始于(0,0)
   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)

此时引了choice()方法来决定漫步的方向和距离,需在开头进行声明。

三、创建实例,并运行随机漫步。

由于本工程引用了两个库,需在开头处进行声明:

import matplotlib.pyplot as plt
from  ramdom import choice
.........
example = RandomWalk()
example.fill_walk()
plt.figure(figsize=(12,8)) # 由于数值较多,设置画布大小,便于观察规律。
plt.scatter(example.x_values,example.y_values,s=10)
plt.show()

效果如下图:


随机漫步5000个点

四、设置样式,美化图表

(一)利用cmap给点着色

利用cmap给点着色可以突出各个点的先后顺序,甚至可以看出随机漫步方向及经过,使简单的图表清晰地、可视化地表达部分信息。
使用cmap参数,数值越小,颜色越浅,数值越大,颜色越深。

  1. 增设一个变量,用以统计点的个数,并用于后面的cmap使用。由于是逐个添加的,所以数值越大,越是最后绘制的点。point_numbers = list(range(rw.num_points))
  2. 在scatter()中增加cmap设置,即增加c=point_numbers,cmap=plt.cm.Blues。使用matplotlib中内置的Blues系列颜色。
  3. 最后的scatter()是这样的:plt.scatter(rw.x_values,rw.y_values,s=5,c=point_numbers,cmap=plt.cm.Blues)
  4. 绘制结果如下图:


    颜色映射后的随机漫步图

可以看出基本的趋势如下图:


基本走势示意图

plt.figure(figsize=(12,8))
plt.scatter(rw.x_values,rw.y_values,s=5,c=point_numbers,cmap=plt.cm.Blues)

相关文章

  • matplotlib实现随机漫步

    matplotlib实现随机漫步 在自然界中,物理学、生物学、化学和经济领域,随机漫步都有其实际用途。例如,漂浮在...

  • 数据可视化<第三天>

    随机漫步 在本节中,我们将使用python来生成随机漫步数据再使用matplotlib呈现数据随机漫步:每次行走都...

  • python数据可视化--matplotlib进行随机漫步

    使用python模拟随机漫步数据,再使用matplotlib以引人注目的方式可视化 随机漫步是这样行走的路径,每次...

  • 91、随机漫步

    我们将使用Python来生成随机漫步数据,再使用matplotlib将这些数据呈现出来。随机漫步的路径是这样的:每...

  • 随机漫步-Python 实现

    使用Python来生成随机漫步的数据,再使用matplotlib以引人瞩目的方式将这些数据呈现出来。随机漫步是这样...

  • python-Data-matplotlib绘制随机漫步

    matplotlib是一个很好的可视化工具,下面我参考书写了一个随机漫步的类,然后用matplotlib将走过的点...

  • python实现随机漫步

    1、随机漫步随机漫步:每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的。可以认为是:蚂蚁在晕头...

  • numpy实现随机漫步

    随机漫步Random Walk 随机漫步是一种数学统计模型,它由一连串轨迹所组成,其中每一次都是随机的,它能用来表...

  • 92、设置随机漫步图样式

    模拟多次随机漫步 接着上一篇的内容,假如要使用前面的代码模拟多次随机漫步,可以使用while 循环实现,如...

  • 用matplotlib+类绘制随机漫步图

    当学会了制作散点图和折线图这些初级操作,我们就来学习用类制作随机漫步数据,并使用matplotlib将之呈现出来 ...

网友评论

    本文标题:matplotlib实现随机漫步

    本文链接:https://www.haomeiwen.com/subject/hudhyhtx.html