在python底图上绘制路径

时间:2019-07-03 13:50:08

标签: python matplotlib path matplotlib-basemap

我想在底图上绘制形状。为此,我创建了一个底图图和一个路径图,并将它们都包含在一个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()

enter image description here enter image description here

0 个答案:

没有答案