我正在使用geoplotlib在地图上siplay点,我想在地图上显示的点上添加名称,例如文本注释。但是无法弄清楚在谷歌搜索了一段时间并在github文档站点中查找后如何处理。这是创建地图的代码:
import pandas as pd
# Dataframe containing the data to plot
locs = pd.DataFrame({'name': ['a','b'],'lat': [-22.951916, -43.210487], 'lon': [-13.163141, -72.544962]})
# import eoplotlib.
import geoplotlib
%matplotlib inline
# Load the data
data = locs[['lat', 'lon']]
# Pass the data to geoplotlib.plot
geoplotlib.dot(data, color='b', point_size= 10)
# Display the map.
geoplotlib.inline()
这是生成的地图:
如何在df中在地图中的蓝点旁边显示
names
列的名称?提前谢谢
最佳答案
geoplotlib API reference for the geoplotlib.dot()函数提供一个参数f_tooltip
,该参数接受一个函数来为一个点生成工具提示字符串。
在您的代码中,不需要单独的data
数据框即可绘制地图并获得带注释的工具提示。 locs
数据框已经具有name
列,该列将提供工具提示的字符串,并且可以直接使用。在后台,数据帧被转换为键值对字典。在我们的例子中,我们只需要一个简单的lambda
函数即可从字典中为相应的name
和lat
检索lon
键。
注意:由于geoplotlib.show()
地块目前不适合我,因此我使用了inline
。
import pandas as pd
# Dataframe containing the data to plot
locs = pd.DataFrame({'name': ['a','b'],'lat': [-22.951916, -43.210487], 'lon': [-13.163141, -72.544962]})
#import geoplotlib.
import geoplotlib
# %matplotlib inline
#function to create a dot density map with annotated tooltip
geoplotlib.dot(locs, color='b', point_size= 10,f_tooltip=lambda r:r['name'])
# Display the map.
geoplotlib.show()
结果: