我想在底图上绘制形状。为此,我创建了一个底图图和一个路径图,并将它们都包含在一个python代码段中。我先绘制baemap,然后绘制路径。然后,我用plt.show()
绘制图。但是,这两个图都是在单独的图像中绘制的。如何在底图上绘制正方形?谢谢!
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
# =============================================================================
# Basemap
# =============================================================================
plt.figure(figsize=(15,15/2))
m = Basemap(projection='robin', lon_0=0, resolution='c')
m.drawcountries(color='#ffffff', linewidth=0.75)
m.fillcontinents(color='#c0c0c0', lake_color='#e6f5ff')
m.drawmapboundary(fill_color='#e6f5ff', linewidth=1, color='#000000') # Ocean
# =============================================================================
# Path
# =============================================================================
verts = [
(8493400,4307750), # P0
(8493400,12923250), # P1
(25480200,12923250), # P2
(25480200,4307750), # P3
(0,0)
]
codes = [
Path.MOVETO,
Path.LINETO,
Path.LINETO,
Path.LINETO,
Path.CLOSEPOLY,
]
path = Path(verts, codes)
fig, ax = plt.subplots()
patch = patches.PathPatch(path, facecolor='orange', lw=2)
ax.add_patch(patch)
ax.set_xlim(0,33973600)
ax.set_ylim(0,17231000)
plt.show()