我试图在底图图上绘制一个我的研究区域框时遇到问题。我尝试过两种不同的选择:1。使用Polygon。 2.使用drawgreatcircle。
这是我的Polygon代码:
ksh: syntax error at line 1 : 'end of file' unexpected
这是结果: Box using Polygon toolbox 基本上,框不在绘图中使用的投影坐标中(或者至少线不像网格那样遵循平行线和经线)。
查看第二个选项(使用drawgreatcircle函数),它适用于我需要的右,左和下线,但不适用于上面的线。附加代码是:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
m = Basemap(width=6000000,height=5000000,rsphere=(6378137.00,6356752.3142),\
resolution='l',projection='lcc',\
lat_1=0.,lat_2=30,lat_0=15,lon_0=-75.)
lw = 1
dashes = [5,7]
graticules_color = 'black'
fig1 = plt.figure(figsize=(16,20))
fig1.patch.set_facecolor('#e6e8ec')
ax = fig1.add_axes([0.1,0.1,0.8,0.8])
m.etopo()
m.drawparallels(np.arange(-90.,90.,10.),labels=[1,0,0,0],fontsize=20,linewidth=lw, dashes=dashes, color=graticules_color)
m.drawmeridians(np.arange(-180.,180.,10.),labels=[0,0,0,1],fontsize=20,linewidth=lw, dashes=dashes, color=graticules_color)
m.drawmapboundary(fill_color='white')
m.drawcountries()
x1,y1 = m(-100,0)
x2,y2 = m(-100,30)
x3,y3 = m(-50,30)
x4,y4 = m(-50,0)
poly = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],facecolor='none',edgecolor='k',linewidth=1.5)
plt.gca().add_patch(poly)
图中:Box with drawgreatcircle 有人可以帮我解决这个问题吗?
非常感谢!
安吉拉。
答案 0 :(得分:0)
将此代码段添加到您的代码中。它会绘制你想要的线条。
lons = np.linspace(-100, -50, 15)
lats = np.ones(len(lons))*30
m.plot(lons, lats, color="r", linewidth=1.5, latlon=True)