python程式設計 從入門到實踐之資料視覺化 二)

2021-08-22 06:16:46 字數 2810 閱讀 3673

1、隨機漫步

隨機漫步是這樣行走得到的路徑:每次行走都完全是隨機的,沒有明確的方向, 結果是由一系列隨機決策決定的。

為模擬隨機漫步,我們將建立乙個名為randomwalk的類,它隨機地選擇前進方向。這個類需 要三個屬性,其中乙個是儲存隨機漫步次數的變數,其他兩個是列表,分別儲存隨機漫步經過的 每個點的x和y座標。 randomwalk類只包含兩個方法:init()和fill_walk(),其中後者計算隨機漫步經過的所 有點。下面先來看看init(),如下所示:

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]

deffill_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

模擬單(多)次隨機漫步

import matplotlib.pyplot as plt

from random_walk import randomwalk

while

true:

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

2、設定隨機漫步圖的樣式

給點著色:使用顏色對映來指出漫步中各點的先後順序,並刪除每個點的黑色輪廓,讓它們的顏色更明顯。為根據漫步中各點的先後順序進行著色,我們傳遞引數c,並將其設定為乙個列表, 其中包含各點的先後順序。由於這些點是按順序繪製的,因此給引數c指定的列表只需包含數字 1~5000,如下所示:

import matplotlib.pyplot as plt

from random_walk import randomwalk

while

true:

rw = randomwalk()

rw.fill_walk()

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=15)

plt.show()

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

if keep_running == 'n':

break

重新繪製起點和終點:讓起點和終點變得更大, 並顯示為不同的顏色,以突出它們。

plt.scatter(rw.x_values,rw.y_values,c=point_numbers,

cmap=plt.cm.blues,edgecolor='none',s=15)

plt.scatter(0,0,c='green'

,edgecolor='none',s=100)

plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red'

,edgecolors='none',s=100)

plt.show()

隱藏座標軸:

plt.axes().get_xaxis().set_visible(false)

plt.axes().get_yaxis().set_visible(false)

增加點數 :建立randomwalk例項時增大num_points 的值,並在繪圖時調整每個點的大小

rw =randomwalk(50000)
調整尺寸以適合螢幕 :

rw = randomwalk()

rw.fill_walk()

# 設定繪圖視窗的尺寸

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

Python 程式設計 從入門到實踐

1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...

Python程式設計從入門到實踐 基礎入門

python程式設計從入門到實踐 基礎入門 1 python中的變數 2 python首字母大寫使用title 方法,全部大寫upper 方法,全部小寫lower 方法 3 python中字串拼接使用 號 4 python中刪除字串的空格 刪除末尾空格的rstrip 刪除開頭空格的lstrip 刪除...

Python程式設計 從入門到實踐 1

內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...