Базовая карта Python с точечной диаграммой - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь нанести местоположение Нью-Йорка и Берлина на базовую карту с точечной диаграммой.

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

Однако только одна из точек отображается на карте в неправильном месте.enter image description here

Может кто-нибудь помочь мне и указать, почему одна точка появляется в неправильном месте, а другая точка вообще не появляется?

1 Ответ

1 голос
/ 23 июня 2019

Дело в том, что ваше определение координат .Вы смешиваете longitude и latitude.После проверки координат Берлина и Нью-Йорка, приходит следующее определение:

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

enter image description here

...