Python basemap 简单轮廓不显示在地图上
我正在尝试在一个基础地图上使用 contourf 创建填充的等高线。这是我使用的代码。没有出现错误,运行也很顺利,甚至颜色条也显示出来了,但等高线没有显示,地图背景只有白色。我该如何让等高线显示出来呢?
x = [1,2,3]
y = [4,5,6]
z = [7,8,9]
x = np.array(x)
y = np.array(y)
z = np.array(z)
x = np.reshape(x, (1,-1))
y = np.reshape(y, (1,-1))
z = np.reshape(z, (1,-1))
cs = plt.contourf(x, y, z, 50, cmap='jet')
plt.colorbar()
map = Basemap(projection='cyl', resolution = 'l', area_thresh=1000.0,
llcrnrlon = -1, llcrnrlat = -1, urcrnrlon = 7, urcrnrlat = 7)
map.drawcoastlines()
map.drawcountries()
map.drawmapboundary()
map.drawmeridians(np.arange(0, 360, 30))
map.drawparallels(np.arange(-90, 90, 30))
for lon, lat in zip(x, y):
x, y = map(x, y)
map.plot(x, y, 'ro', markersize = 10)
plt.show()
1 个回答
2
你可能需要在函数 contourf
中加上 latlon=True
,这样写:
plt.contourf(x, y, z, 50, cmap='jet',latlon=True)
这样做是为了让这个函数把你的 x 和 y 数据当作坐标来理解,而不是普通的点。