在 Python 中绘制 3D 随机游走
Plotting 3D random walk in Python
我想在 Python 中绘制 3-D 随机游走。类似于下面给出的图片的东西。你能给我推荐一个工具吗?我正在尝试为此使用 matplotlib,但对如何使用感到困惑。
现在我有一个 lattice
的零数组,它基本上是 X*Y*Z
维的并且保存随机游走者走过的信息,在每个 [=15= 上将 0
变成 1
】 那个随机漫步者踏步了。
如何创建步行的 3D 视觉效果?
我认为以下内容符合您的要求:
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()
这会给你一个看起来像这样的随机游走:
我想在 Python 中绘制 3-D 随机游走。类似于下面给出的图片的东西。你能给我推荐一个工具吗?我正在尝试为此使用 matplotlib,但对如何使用感到困惑。
现在我有一个 lattice
的零数组,它基本上是 X*Y*Z
维的并且保存随机游走者走过的信息,在每个 [=15= 上将 0
变成 1
】 那个随机漫步者踏步了。
如何创建步行的 3D 视觉效果?
我认为以下内容符合您的要求:
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()
这会给你一个看起来像这样的随机游走: