python3.5绘制随机漫步图

本文实例为大家分享了python3.5绘制随机漫步图的具体代码,供大家参考,具体内容如下

代码中我们定义两个模型,一个是RandomWalk.py模型,用于随机的选择前进方向。此模型中的RandomWalk类包含两个方法,一个是__init__(),一个是fill_walk(),后者是计算随机漫步的所有点。另外一个是rw_visual.py模型,用于绘制随机漫步图。

代码如下:

RandomWalk.py

from random import choice

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 * x_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) 

rw_visual.py

import matplotlib.pyplot as plt 

from random_walk import RandomWalk

# 创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk(50000)
rw.fill_walk()

# 设置绘图窗口的尺寸
plt.figure(dpi=80,figsize=(10,6))

# 设置点按先后顺序增加颜色深度
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,
 edgecolor='none',s=1)

# 突出起点和终点,起点设置为绿色,终点设置为红色
plt.scatter(0,0,c='green',edgecolor='none',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolor='none',s=100)

# 隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)

plt.show()

效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现随机漫步方法和原理

    我们通过模拟随机漫步可以说明如何运用数组运算.通过内置的random模块以纯Python的方式实现1000步的随机漫步 根据前100个随机漫步值生成的折线图, plt.plot(walk[:100]) 随机漫步中各步的累计和,可以用一个数组运算来实现.因此,我用np.random模块一次性随机产生1000个"掷硬币"结果(即两个数中任选一个),将其分别设置为1或-1,然后计算累计和 我们就可以沿着漫步路径做一些统计工作了,比如求取最大值和最小值 假设我们想要知道本次随机漫步需要多久才能

  • Python实现随机漫步功能

    随机漫步生成是无规则的,是系统自行选择的结果.根据设定的规则自定生成,上下左右的方位,每次所经过的方向路径. 首先,创建一个RandomWalk()类和fill_walk()函数 random_walk.py from random import choice class Randomwalk (): '''一个生成随机数漫步的类''' def __init__(self,num_point=5000): '''初始化随机漫步的属性''' self.num_point = num_point #

  • Python使用matplotlib绘制随机漫步图

    本文我们来做一个简单的随机漫步数据图,进一步了解matplotlib的使用, 使用Python生成随机漫步数据,再使用matplotlib绘制出来, 随机漫步是这样行走得到的路径: 每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的. 创建一个RandomWalk雷,随机的选择前进的方向,一共有三个属性,一个是存储随机漫步次数的变量,其他两个是列表,分别存储随机漫步经过的每个点的x和y坐标 下面是代码 from random import choice class Random

  • python使用matplotlib库生成随机漫步图

    本教程使用python来生成随机漫步数据,再使用matplotlib将数据呈现出来 开发环境 操作系统: Windows10 IDE: Pycharm 2017.1.3 Python版本: Python3.6 Python第三方库:matplotlib 开始实战 1. 创建RandomWalk()类 为了模拟随机漫步,我们将创建一个名为RandomWalk的类, 它随机地选择方向. from random import choice class RandomWalk(): ""&quo

  • python实现随机漫步算法

    本文实例为大家分享了python实现随机漫步的具体代码,供大家参考,具体内容如下 编写randomwalk类 from random import choice class randomwalk(): 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

  • Python3随机漫步生成数据并绘制

    本文为大家分享了Python3随机漫步生成数据并绘制的具体代码,供大家参考,具体内容如下 random_walk.py from random import choice #生成随机漫步的数据类 class RandomWalk(): def __init__(self,num_points=5000): #初始化随机漫步的属性 self.numpoints=num_points #随机漫步的默认点数 self.x_values=[0] #所有的随机漫步都始于(0.0) self.y_value

  • python散点图实例之随机漫步

    随机漫步是这样行走得到的途径:每次行走都是完全随机的,没有明确的方向,结果是由一系列随机决策决定的. random_walk.py #random_walk.py from random import choice # -*- coding: utf-8 -*- class RandomWalk(): #一个生成随机漫步数据的类 def __init__(self,num_points=5000): self.num_points=num_points self.x_values=[0] sel

  • python3.5绘制随机漫步图

    本文实例为大家分享了python3.5绘制随机漫步图的具体代码,供大家参考,具体内容如下 代码中我们定义两个模型,一个是RandomWalk.py模型,用于随机的选择前进方向.此模型中的RandomWalk类包含两个方法,一个是__init__(),一个是fill_walk(),后者是计算随机漫步的所有点.另外一个是rw_visual.py模型,用于绘制随机漫步图. 代码如下: RandomWalk.py from random import choice class RandomWalk():

  • Python超详细分步解析随机漫步

    创建RandomWalk类 为模拟随机漫步,我们将创建一个RandomWalk类,随机选择前进方向,这个类有三个属性,一个存储随机漫步的次数,另外两个存储随机漫步的每个点的x,y坐标,每次漫步都从点(0,0)出发 from random import choice class RandomWalk(): '''一个生成随机漫步数据的类''' def __init__(self,num_points=5000): '''初始化随机漫步的属性''' self.num_points = num_poi

  • 用Python绘制漫步图实例讲解

    我们首先来看下代码: import matplotlib.pyplot as plt from random import choice class RandomWalk(): 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:

  • python绘制随机网络图形示例

    如下所示: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述: #问题分析:.代码如下: import networkx as ne #导入建网络模型包,命名ne import matplotlib.pyplot as mp #导入科学绘图包,命名mp #erdos renyi graphy rg=ne.erdos_renyi_graph(20,0.8) ps=ne.shell_layout

  • python3实现绘制二维点图

    如下所示: import matplotlib.pyplot as plt plt.plot([1,2,3],[4,5,6],'ro') plt.show()#这个智障的编辑器,,,看来高版本的确修复了一些bug 用python3的qt5出来的图形,效果很好: 而且在上面的图像中也可以用调整按钮进行适当的调整. 下面我们直接用代码进行坐标的调整: import matplotlib.pyplot as plt plt.xlim(xmax=7,xmin=0) plt.ylim(ymax=7,ymi

随机推荐