在python中如何实现:在世界地图上显示某些国家,并在它们之间连边
时间: 2024-03-18 18:44:47 浏览: 17
你可以使用 Python 的地图绘制库 Basemap 来实现。以下是一个简单的示例代码:
```python
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# 创建地图
m = Basemap(llcrnrlon=-180,llcrnrlat=-65,urcrnrlon=180,urcrnrlat=80)
# 绘制国家边界
m.drawcountries()
# 选择要显示的国家
countries = ['Russia', 'China', 'United States', 'Canada']
# 根据国家名字获取国家的经纬度范围
lons = []
lats = []
for country in countries:
lon1, lat1, lon2, lat2 = m.bbox_of_country(country)
lons.append((lon1 + lon2) / 2)
lats.append((lat1 + lat2) / 2)
# 绘制国家的位置
x, y = m(lons, lats)
m.plot(x, y, 'ro', markersize=10)
# 在国家之间画线
for i in range(len(countries) - 1):
lon1, lat1, lon2, lat2 = m.bbox_of_country(countries[i])
lon3, lat3, lon4, lat4 = m.bbox_of_country(countries[i + 1])
x1, y1 = m((lon1 + lon2) / 2, (lat1 + lat2) / 2)
x2, y2 = m((lon3 + lon4) / 2, (lat3 + lat4) / 2)
m.plot([x1, x2], [y1, y2], 'b-', linewidth=2)
# 显示地图
plt.show()
```
这段代码会显示一个地图,上面标出了俄罗斯、中国、美国和加拿大,并在它们之间画了蓝色的线。你可以根据需要修改代码来实现你自己的需求。