python隨機漫步 Python 隨機漫步

2021-10-13 08:47:44 字數 2354 閱讀 8285

建立randomwalk()類

我們將使用python來生成隨機漫步資料,再使用matplotlib以引入矚目的方式將這些資料呈現出來

首先建立類randomwalk()

from random importchoiceclassrandomwalk():'''乙個生成隨機漫步資料的類'''

def __init__(self,num_points=5000):'''初始化隨機漫步的屬性'''self.num_points=num_points#所有的隨機漫步都始於(0,0)

self.x_values =[0]

self.y_values=[0]deffill_walk(self):'''計算隨機漫步的所有點'''

#不斷漫步,直到列表到達指定長度

while len(self.x_values)

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

__init__()和fill_walk(),其中後者計算隨機漫步經過的所有點。

我們使用choice([1,-1])給direction選擇乙個值,結果要麼是表示向右走1,要麼表示向左走-1,接下來,choice([0,1,2,3,4])隨機的選擇乙個0~4之間的整數,告訴python沿著指定的方向走多遠(x_distance)

繪製隨機漫步圖

importmatplotlib.pyplot as pltfrom matplotlib_test.random_walk importrandomwalk#建立乙個randomwalk例項,並將其包含的點都繪製出來

rw =randomwalk()

rw.fill_walk()print(rw.x_values)

plt.scatter(rw.x_values,rw.y_values,s=15)

plt.show()

執行結果:

我們首先匯入模組pyplot和randomwalk類,然後我們建立乙個例項,並將其儲存到rw中,再呼叫fill_walk(),我們將隨機漫步的x與y值傳遞給scatter(),並選擇了合適的點尺寸,顯示包含5000個點的隨機漫步。

模擬多次隨機漫步

importmatplotlib.pyplot as pltfrom matplotlib_test.random_walk importrandomwalk#只要程式處理活動狀態,就不斷的隨機模擬

whiletrue:#建立乙個randomwalk例項,並將其包含的點都繪製出來

rw =randomwalk()

rw.fill_walk()

plt.scatter(rw.x_values,rw.y_values,s=15)

plt.show()

keep_running= input("make another walk?(y/n):")if keep_running == 'n':break

這些**模擬一次隨機漫步,在matplotlib檢視器中顯示結果,再不關閉檢視器的情況下暫停。如果你關閉了檢視器,程式詢問你是否再模擬一次隨機漫步,如果你輸入y,那麼將繼續,如果你輸入n,那麼將退出。

設定隨機漫步圖樣式

1.給點著色

我們使用顏色對映來指出個點的先後順序,並刪除每個點的黑色輪廓,讓他們的顏色更明顯,為根據漫步中各點的先後順序進行著色,我們傳遞引數c,並將其設定為乙個列表,其中包含個點的先後順序。

執行結果:

2.重新繪製起點與終點

為了凸顯上圖的起點跟終點,我們可以這麼做

執行結果:

3.隱藏座標軸

為了修改座標軸,使用函式plt.axes()來將座標軸的可見性設定為false

執行結果:

4.增加點數

下面我們增加點數,在建立randomwalk例項時增大num_points的值

執行結果:

5.調整視窗的尺寸大小

圖表適合螢幕大小時,更有效的將資料中的規律呈現出來

視窗明顯變大

如果知道自己系統的解析度,還可以使用形參dpi傳遞該解析度

plt.figure(dpi=128,figsize=(10,6))

Python隨機漫步

隨機漫步,顧名思義,每一步都是隨機的,假設有乙個點,下一步往 走,往上?往下?往左還是右?走多遠?這些都沒有明確的表示,完全是隨機的,最後走到 是由一系列隨機決策決定的。這就是隨機漫步。那麼使用python怎麼樣模擬隨機漫步呢 首先我們需要建立乙個類,這個類需要具備三個屬性,1.隨機漫步多少次?2,...

python隨機漫步函式

rw.visual.py import matplotlib.pyplot as plt from random walk import randomwalk 建立乙個randomwalk例項,並將其包含的點都繪製出來 rw randomwalk 50000 po numbers list rang...

Python實現隨機漫步

隨機漫步生成是無規則的,是系統自行選擇的結果。根據設定的規則自定生成,上下左右的方位,每次所經過的方向路徑。首先,建立乙個randomwalk 類和fill walk 函式 random walk.py from random import choice class randomwalk 乙個生成隨...