Python 向Folium FastMarker群集标记添加文本?

Python 向Folium FastMarker群集标记添加文本?,python,text,data-visualization,folium,Python,Text,Data Visualization,Folium,使用下面的代码,我尝试将文本添加到folium FastMarkerCluster标记中。下面的代码生成了一个映射,但添加文本没有成功。文本包含为对应于每个lon lat对的字符串 我相信问题与包含文本列的df是pandas系列对象这一事实有关。据我所知,在这种情况下应该如何指定“df.columnname”。然而,这不起作用。我也试着把专栏变成一个列表,但这种方法也没有成功。非常感谢你的指点 xlat = guns2013['latitude'].tolist() xlon = guns201

使用下面的代码,我尝试将文本添加到folium FastMarkerCluster标记中。下面的代码生成了一个映射,但添加文本没有成功。文本包含为对应于每个lon lat对的字符串

我相信问题与包含文本列的df是pandas系列对象这一事实有关。据我所知,在这种情况下应该如何指定“df.columnname”。然而,这不起作用。我也试着把专栏变成一个列表,但这种方法也没有成功。非常感谢你的指点

xlat = guns2013['latitude'].tolist()
xlon = guns2013['longitude'].tolist()
locations = list(zip(xlat, xlon))
map2 = folium.Map(location=[38.9, -77.05], tiles='CartoDB dark_matter', 
zoom_start=1)
marker_cluster = MarkerCluster().add_to(map2)
for point in range(0, len(locations)):
   folium.Marker(locations[point], 
   popup='guns2013.texts'[point]).add_to(marker_cluster)

map2

果然,答案来了。也许这有助于面对同样问题的人。如果未映射文本,请检查包含文本的df是否不是熊猫系列对象,如果是,请使用第一行转换为熊猫df。其余的都有用

df_text = df_old[['texts']]

xlat = guns2013['latitude'].tolist()
xlon = guns2013['longitude'].tolist()
locations = list(zip(xlat, xlon))
map2 = folium.Map(location=[38.9, -77.05], tiles='CartoDB dark_matter', 
zoom_start=1)
marker_cluster = MarkerCluster().add_to(map2)
try:
   for point in range(0, len(locations)):
   folium.Marker(locations[point], popup = folium.Popup(df_text['texts'] 
   [point])).add_to(marker_cluster)    
except:
   pass
map2

果然,答案来了。也许这有助于面对同样问题的人。如果未映射文本,请检查包含文本的df是否不是熊猫系列对象,如果是,请使用第一行转换为熊猫df。其余的都有用

df_text = df_old[['texts']]

xlat = guns2013['latitude'].tolist()
xlon = guns2013['longitude'].tolist()
locations = list(zip(xlat, xlon))
map2 = folium.Map(location=[38.9, -77.05], tiles='CartoDB dark_matter', 
zoom_start=1)
marker_cluster = MarkerCluster().add_to(map2)
try:
   for point in range(0, len(locations)):
   folium.Marker(locations[point], popup = folium.Popup(df_text['texts'] 
   [point])).add_to(marker_cluster)    
except:
   pass
map2

我对此进行了研究,最终您可以将弹出窗口从python传递到回调函数,如下所示:

一些地图=叶。地图位置=[df['纬度]。平均值, df['经度].平均值], 缩放开始=9 回调='函数行{' 'var marker=L.markernew L.LatLngrow[0],第[1]行,{color:red};' 'var icon=L.AwesomeMarkers.icon{' 图标:“信息标志”, iconColor:'白色', 标记颜色:“绿色”, 前缀:“glyphicon”, 课外活动:“fa-rotate-0” '};' 'marker.setIconicon;' var popup=L.popup{maxWidth:'300'}; const display_text={text:row[2]}; var mytext=$`${display_text.text}`[0]; popup.setContentmytext; marker.bindpopuppopp; '返回标记};'
一些_map.add _childFastMarkerClusterdf[['纬度','经度','使用_代码_名称']].values.tolist,callback=callback我反复使用了这个方法,最终您可以将python中的弹出窗口传递给回调函数,如下所示:

一些地图=叶。地图位置=[df['纬度]。平均值, df['经度].平均值], 缩放开始=9 回调='函数行{' 'var marker=L.markernew L.LatLngrow[0],第[1]行,{color:red};' 'var icon=L.AwesomeMarkers.icon{' 图标:“信息标志”, iconColor:'白色', 标记颜色:“绿色”, 前缀:“glyphicon”, 课外活动:“fa-rotate-0” '};' 'marker.setIconicon;' var popup=L.popup{maxWidth:'300'}; const display_text={text:row[2]}; var mytext=$`${display_text.text}`[0]; popup.setContentmytext; marker.bindpopuppopp; '返回标记};'
一些\u映射。添加\u childFastMarkerClusterdf[['纬度','经度','使用\u代码\u名称']]。values.tolist,callback=callback请注意,您使用的是MarkerCluster,而不是FastMarkerCluster。使用FastMarkerCluster时,您可以通过Javascript回调来设置标记的样式,例如更改图标,但我不确定是否可以添加弹出窗口。请参见此处:请注意,您使用的是MarkerCluster,而不是FastMarkerCluster。使用FastMarkerCluster时,您可以通过Javascript回调来设置标记的样式,例如更改图标,但我不确定是否可以添加弹出窗口。请参见此处:您知道是否可以将多个文本添加到弹出窗口中吗?i、 e.df[‘纬度’、‘经度’、‘使用代码名称1’、‘使用代码名称2’、‘使用代码名称3’]?您知道是否可以在弹出窗口中添加多个文本?即df[‘纬度’、‘经度’、‘使用代码名称1’、‘使用代码名称2’、‘使用代码名称3’?