依赖库:

1
2
3
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import colors

实现过程:使用numpy生成所需栅格地图的矩阵值。在此基础上随机生成障碍,值为1代表障碍,值为0代表无障碍,最后使用matplotlib绘画出。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 # 地图长,宽
map_w = 10
map_h =10

G = np.zeros(map_w*map_h)

obs_num = int(G.size * 0.2) # 障碍数量
obs_a = np.random.randint(low=0, high=G.size, size=obs_num) # 随机产生障碍的索引
G[obs_a] = 1 # 障碍
map_test = G.reshape([map_w, map_h]) # 创建矩阵地图

cmap = colors.ListedColormap(['none', 'black', 'white', 'magenta', 'yellow', 'cyan', 'green', 'red', 'blue'])
plt.imshow(map_test, cmap=cmap, interpolation='nearest', vmin=0, vmax=7)
plt.show()

最后效果图: