带散点p的Python底图

2024-05-14 23:54:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用散点图在底图上标出纽约和柏林的位置。你知道吗

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

有人能帮我指出为什么一个点出现在错误的位置而另一个点根本不出现吗?你知道吗


Tags: fromimportas错误pltmplcolorbasemap
1条回答
网友
1楼 · 发布于 2024-05-14 23:54:46

问题是你的协调定义。你在混合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()

enter image description here

相关问题 更多 >

    热门问题