【问题标题】:Python basemap with scatter plot带有散点图的 Python 底图
【发布时间】:2019-06-23 16:19:28
【问题描述】:

我正在尝试在带有散点图的底图上绘制纽约市和柏林的位置。

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np

m = Basemap(projection='robin',lon_0=0,resolution='l')

# New York and Berlin
lats = (13.388889,52.516667)
lons = (-74.0059,40.7127)

m.drawcountries(color='#ffffff', linewidth=0.5)
m.fillcontinents(color='#c0c0c0',lake_color='#ffffff')

x, y = m(lons, lats)  # transform coordinates
plt.scatter(x, y, 10, marker='o', color='Red') 

plt.savefig("filename.svg", figsize=(24,12))
plt.show()

但是,地图上只有一个点显示在错误的位置。

谁能帮助我并指出为什么一个点出现在错误的位置而另一个点根本没有出现?

【问题讨论】:

    标签: python scatter-plot matplotlib-basemap


    【解决方案1】:

    问题在于你的坐标定义。您正在混合longitudelatitude。查了一下柏林和纽约的坐标,得到如下定义:

    # Berlin & New York
    lats = [52.516667, 40.730610 ]
    lons = [13.388889, -73.935242]
    

    这里是整个代码:

    from mpl_toolkits.basemap import Basemap
    import matplotlib.pyplot as plt
    import numpy as np
    
    m = Basemap(projection='robin', lon_0=0, resolution='l')
    
    # Berlin & New York
    lats = [52.516667, 40.730610 ]
    lons = [13.388889, -73.935242]
    
    m.drawcountries(color='#ffffff', linewidth=0.5)
    m.fillcontinents(color='#c0c0c0', lake_color='#ffffff')
    
    x, y = m(lons, lats)
    plt.plot(x, y, 'bo', color='r', markersize=5)
    
    plt.show()
    

    【讨论】:

    • 愚蠢的错误。谢谢您的支持!非常感谢 :) 工作得很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2022-10-14
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    相关资源
    最近更新 更多