Los datos del diagtwig de dispersión no aparecen en los continentes en el mapa base ‘martillo’

Estoy intentando trazar un conjunto de datos sobre el mapa base ‘martillo’ usando un diagtwig de dispersión. Sin embargo, los puntos de datos no se trazarán en la parte superior de los continentes. Noté que en el ejemplo de matplotlib, tampoco hay datos sobre los continentes (asumí que esto se debía a la naturaleza del ejemplo). Me pregunto si estoy haciendo algo mal o si los datos no se pueden trazar en la parte superior de los continentes usando el “martillo” por diseño.

Si este es el caso, ¿hay un mapa base ideal para trazar datos de trazado de dispersión en toda la Tierra (usar un mapa en relieve sería genial, pero me conformaría con cualquier cosa en este punto)?

Probablemente te falte la palabra clave para interpretar los datos lat-lon como tales. De la ayuda para Basemap.scatter:

Si la palabra clave latlon se establece en Verdadero, x, y se interpretan como longitud y latitud en grados. Los datos y las longitudes se desplazan automáticamente para coincidir con la región de proyección del mapa para proyecciones cilíndricas y pseudocilíndricas, y x, y se transforman para mapear las coordenadas de proyección. Si latlon es False (predeterminado), se supone que x e y son coordenadas de proyección del mapa.

También necesitaba boost el orden z para dispersarme en la parte superior de los continentes y en los océanos.

 import time, calendar, datetime, numpy from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt # draw map with markers for float locations m = Basemap(projection='hammer',lon_0=180) m.drawmapboundary(fill_color='#99ffff') m.fillcontinents(color='#cc9966',lake_color='#99ffff') m.scatter([-73.98, 238., 0.08, 0., 116.38],[40.78,47.6, 51.53,0., 39.91], latlon=True, # Ta-da! marker='o',color='k', zorder=10) plt.title('Hammer projection, data on top',fontsize=12) plt.show() 

introduzca la descripción de la imagen aquí