使用 python 绘制 2D 步行图
Plotting a 2D walk using python
我正在尝试使用 python 创建一个非常基本的步行模拟。生成一个随机数,确定每一步的方向。我正在尝试创建一个列表,其中包含每个步骤的每个 y 和 x 坐标。像这样:[[0, 0], [1, 0], [0, 0], [0, -1], [-1, -1]]。但是,我无法将结果附加到列表中,无法进行绘图。
代码:
steps = 200
x_c = 0
y_c = 0
walk = [[x_c,y_c]]
for i in range(steps):
direction = np.random.randint(1,5)
if direction == 1:
x_c += 1
if direction == 2:
x_c -= 1
if direction == 3:
y_c += 1
if direction == 4:
y_c -= 1
walk = [[x_c,y_c]]
目前,上面的代码没有产生任何错误,但它只在图 (0,0) 上绘制了一个点,我想我知道问题出在哪里(列表只包含 0,0)但是我我不确定如何解决这个问题。
谢谢
您似乎一直在覆盖项目。
for 循环中的行 walk = [[x_c,y_c]] 只是不断将 walk 重置为 x_c,y_c 的当前值。
改为使用 walk.append([x_c,y_c])
steps = 200
x_c = 0
y_c = 0
walk = [[x_c,y_c]]
for i in range(steps):
direction = np.random.randint(1,5)
if direction == 1:
x_c += 1
if direction == 2:
x_c -= 1
if direction == 3:
y_c += 1
if direction == 4:
y_c -= 1
walk.append([x_c,y_c])
我正在尝试使用 python 创建一个非常基本的步行模拟。生成一个随机数,确定每一步的方向。我正在尝试创建一个列表,其中包含每个步骤的每个 y 和 x 坐标。像这样:[[0, 0], [1, 0], [0, 0], [0, -1], [-1, -1]]。但是,我无法将结果附加到列表中,无法进行绘图。
代码:
steps = 200
x_c = 0
y_c = 0
walk = [[x_c,y_c]]
for i in range(steps):
direction = np.random.randint(1,5)
if direction == 1:
x_c += 1
if direction == 2:
x_c -= 1
if direction == 3:
y_c += 1
if direction == 4:
y_c -= 1
walk = [[x_c,y_c]]
目前,上面的代码没有产生任何错误,但它只在图 (0,0) 上绘制了一个点,我想我知道问题出在哪里(列表只包含 0,0)但是我我不确定如何解决这个问题。 谢谢
您似乎一直在覆盖项目。
for 循环中的行 walk = [[x_c,y_c]] 只是不断将 walk 重置为 x_c,y_c 的当前值。
改为使用 walk.append([x_c,y_c])
steps = 200
x_c = 0
y_c = 0
walk = [[x_c,y_c]]
for i in range(steps):
direction = np.random.randint(1,5)
if direction == 1:
x_c += 1
if direction == 2:
x_c -= 1
if direction == 3:
y_c += 1
if direction == 4:
y_c -= 1
walk.append([x_c,y_c])