2016-01-21 200 views
0

我想繪製Python中的3D隨機遊動。與下面給出的圖片類似的東西。你能爲我推薦一個工具嗎?我正在嘗試使用matplotlib,但卻對如何做到這一點感到困惑。
現在我有一個lattice陣列的零基本上是X*Y*Z尺寸和持有隨機行走者走的信息,在每個(x,y,z)轉動01隨機步行者已經步入。在Python中繪製3D隨機遊動

如何創建3D視覺散步? enter image description here

回答

6

我認爲下面做什麼你正在嘗試做的:

import matplotlib as mpl 
from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
import random 

mpl.rcParams['legend.fontsize'] = 10 

fig = plt.figure() 
ax = fig.gca(projection='3d') 

xyz = [] 
cur = [0, 0, 0] 

for _ in xrange(20): 
    axis = random.randrange(0, 3) 
    cur[axis] += random.choice([-1, 1]) 
    xyz.append(cur[:]) 

x, y, z = zip(*xyz) 
ax.plot(x, y, z, label='Random walk') 
ax.scatter(x[-1], y[-1], z[-1], c='b', marker='o') # End point 
ax.legend() 
plt.show() 

這會給你一個隨機遊走看起來像這樣:

random walk

+0

嘿感謝這創造了奇蹟: ) –