Scatter-Plot-Daten erscheinen nicht auf Kontinenten in 'Hammer' Grundkarte

Ich versuche, einen Datensatz über die "Hammer" Basiskarte mit einem Streudiagramm zu zeichnen. Allerdings werden die Datenpunkte nicht auf den Kontinenten aufgetragen. Ich bemerkte im matplotlib Beispiel , es gibt auch keine Daten auf den Kontinenten (ich nahm an, das war wegen der Natur des Beispiels). Ich frage mich, ob ich etwas falsch mache, oder wenn die Daten nicht über den Kontinenten mit "Hammer" durch Design aufgetragen werden können.

Wenn dies der Fall ist, gibt es eine ideale Grundkarte zu verwenden, um Scatter Plot Daten über die ganze Erde zu zeichnen (mit einer Reliefkarte wäre toll, aber ich würde für irgendetwas an diesem Punkt zu begleichen)?

  • Wie fügt man Trendline in Python-Matplotlib-Punkt (Scatter) Graphen hinzu?
  • `Map.scatter` auf der Grundkarte, die keine Markierungen anzeigt
  • Teilweise transparente Streudiagramm, aber mit einem festen Farbbalken
  • One Solution collect form web for “Scatter-Plot-Daten erscheinen nicht auf Kontinenten in 'Hammer' Grundkarte”

    Sie vermissen vermutlich das Schlüsselwort, um lat-lon Daten als solche zu interpretieren. Von der Hilfe für Basemap.scatter:

    Wenn latlon Schlüsselwort auf True gesetzt ist, werden x, y als Längen- und Breitengrad in Grad interpretiert. Daten und Längengrade werden automatisch verschoben, um den Kartenprojektionsbereich für zylindrische und pseudozylinderförmige Vorsprünge zu entsprechen, und x, y werden in Kartenprojektionskoordinaten umgewandelt. Wenn latlon False ist (Standard), werden x und y als Kartenprojektionskoordinaten angenommen.

    Ich brauchte auch die Z-Ordnung zu erhöhen, um auf die Kontinente sowie die Ozeane zu streuen.

     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() 

    Bildbeschreibung hier eingeben

    Python ist die beste Programmiersprache der Welt.