小编Hez*_*eff的帖子

Basemap上的国家标签

我想在Basemap上绘制轨迹,并将国家标签(名称)显示为叠加层.

这是当前代码及其生成的映射:

import pandas as pd 
import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap


path = "path\\to\\data"

animal_data = pd.DataFrame.from_csv(path, header=None)
animal_data.columns = ["date", "time", "gps_lat", "gps_long"]

# data cleaning omitted for clarity 

params = {
        'projection':'merc', 
        'lat_0':animal_data.gps_lat.mean(), 
        'lon_0':animal_data.gps_long.mean(), 
        'resolution':'h', 
        'area_thresh':0.1, 
        'llcrnrlon':animal_data.gps_long.min()-10, 
        'llcrnrlat':animal_data.gps_lat.min()-10, 
        'urcrnrlon':animal_data.gps_long.max()+10, 
        'urcrnrlat':animal_data.gps_lat.max()+10
}
map = Basemap(**params)

map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color = 'coral')
map.drawmapboundary()          

x, y = map(animal_data.gps_long.values, animal_data.gps_lat.values)

map.plot(x, y, 'b-', linewidth=1)    
plt.show()
Run Code Online (Sandbox Code Playgroud)

这导致地图: 移民

这是迁徙鸟类的轨迹图.虽然这是一张非常好的地图(!),但我需要国家/地区名称标签,因此很容易确定这只鸟飞过的国家.

是否有直接添加国家/地区名称的方式?

python gis matplotlib matplotlib-basemap

7
推荐指数
1
解决办法
2506
查看次数

标签 统计

gis ×1

matplotlib ×1

matplotlib-basemap ×1

python ×1