python中basemap绘制地图时绘制海岸线失效的解决方法

在使用Basemap实例化对象时,读取nc文件中的latcorners和loncorners并传入到实例化Basemap的参数中,如再执行绘制海岸线的语句m.drawcoastlines(),则不会显示海岸线。

    atcorners = file_obj.variables['lat'][:]
    loncorners = file_obj.variables['lon'][:]
    # 设置画布
    fig = plt.figure(figsize=(8, 4))

    # 设置Basemap并对齐经纬度坐标
    m = Basemap(lon_0=180, lat_0=0,
                llcrnrlat=latcorners[0], urcrnrlat=latcorners[2],
                llcrnrlon=loncorners[0], urcrnrlon=loncorners[2])

结果如下图:
在这里插入图片描述可以看出其左下角,右上角都被传入的经纬度参数锁死,图片也进行了拉伸,并且无法显示海岸线。

当将实例化Basemap替换为

m = Basemap(lon_0 = 180, lat_0 = 0)

即避免锁定右上角和左下角的经纬度即可。

替换之后图片未被拉伸,边界也能被正常显示。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值