• 技术文章 >Python技术 >Python基础教程

    如何用python画地图上的标注线?

    2020-11-13 11:16:51原创5549
    我们平时看文章的时候会遇到一些不太好理解的地方,如果上面有标注那就事半功倍了。当然在地图中也是如此。之前我们学会了很多画图的技巧,但是忽略了标注这种细节的重要作用。小编经过一番学习和整理,清楚了这部分的内容之后,决定把它写出来分享给大家,希望大家也能学会给地图上做标注。


    需要连接地图上已知经纬度(lat1,lon1;lat2,lon2)的两个点,可使用plot来进行连线,basemap中暂没有画箭头的函数,可用plt.arrow绘制箭头。一些更高级的用法,比如画球面距离,可使用drawgreatcircle函数。下图实例为绘制伦敦到纽约的直线以及球面距离。

    from mpl_toolkits.basemap import Basemap
    import matplotlib.pyplot as plt
    import numpy as np
     
    fig=plt.figure()
    ax=fig.add_axes([0.1,0.1,0.8,0.8])
    mymap = Basemap(llcrnrlon=-100.,llcrnrlat=20.,urcrnrlon=20.,urcrnrlat=60.,\
                rsphere=(6378137.00,6356752.3142),\
                resolution='l',projection='merc',\
                lat_0=40.,lon_0=-20.,lat_ts=20.)
    # nylat, nylon are lat/lon of New York
    nylat = 40.78; nylon = -73.98
    # lonlat, lonlon are lat/lon of London.
    lonlat = 51.53; lonlon = 0.08
    mymap.drawgreatcircle(nylon,nylat,lonlon,lonlat,linewidth=2,color='b')
    mymap.plot([nylon,lonlon],[nylat,lonlat],linewidth=2,color='r',latlon='True')
    mymap.drawcoastlines()
    mymap.fillcontinents()
    mymap.drawparallels(np.arange(10,90,20),labels=[1,1,0,1])
    mymap.drawmeridians(np.arange(-180,180,30),labels=[1,1,0,1])
    plt.show()


    以上就是python画地图上标注线的方法。增加了标准之后,看地图是不是更方便了呢~如果有其他标注的方法,也欢迎小伙伴们告诉小编,小编试了之后觉得可行也会分享给更多的小伙伴。让我们一起互相学习,进阶python吧。

    专题推荐:python画图
    上一篇:python中如何用subplot画多个子图? 下一篇:如何用python3代码玩小游戏?

    相关文章推荐

    • python画图如何显示中文标题?• python画图怎么添加汉字的坐标轴• Python画图用到哪些库?• python画图如何设置横坐标?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网