Latmap / Long数据点未显示在底图图

时间:2017-04-25 18:41:20

标签: python google-maps matplotlib matplotlib-basemap

我有拉/长数据点我试图使用Matplotlib的底图在地图上绘图。有几点没有出现,我不知道为什么。

我尽可能地简化了我的代码,以便了解问题的发生位置。

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

lat = [39.62, 38.97, 40.75, 41.19] 
lon = [-121.76, -78.38, -87.66, -104.91]

fig = plt.figure(figsize=(18,18))
m=Basemap(projection='cea')
m.drawcoastlines()
m.fillcontinents()
m.drawmapboundary()


m.scatter(lat,lon,zorder=10,latlon=True)

map plot

我附上了结果的图像。我将解决方案应用于另外两个问题:

  1. 问题是zorder,所以我设置zorder = 10
    `map.scatter` on basemap not displaying markers
  2. 问题是latlon = True所以我设置了latlon = True scatter plot data does not appear on continents in 'hammer' basemap
  3. 我也试过

    x,y = m(lat,lon)
    
    m.scatter(x,y,zorder=10)
    
    但是没有出现任何事情。我找不到数据点不会出现的任何其他原因。我在谷歌地图中确认这些是有效的纬度/经度坐标,应该出现在美国。

    我错过了什么?

1 个答案:

答案 0 :(得分:1)

解决方案:绘制为Lon,lat not lat,lon。

这很有用。