如何为Folium地图上的每个点位标记添加对应索引的序号标签
Folium 火灾点位按索引加序号标签实现方案
循环绘制点位标记时,通过folium.DivIcon自定义标签元素,即可在点位上直接显示对应序号,不需要额外依赖第三方库。
修改后可直接运行的代码
import folium BBox = [(37, 26),(39.8,28.8)] m = folium.Map() m.fit_bounds(BBox) # 如果你的DataFrame默认索引不是从1开始的连续整数,取消下面这行注释用独立计数器 # count = 1 for index, row in fire.iterrows(): depot_node = (row['latitude'], row['longitude']) # 绘制原有红色圆形点位 folium.CircleMarker( location=depot_node, radius=10, color='red', fill_color ='red', fill_opacity=0.7, ).add_to(m) # 叠加序号标签 folium.Marker( location=depot_node, icon=folium.DivIcon( html=f'<div style="font-size:12pt;color:#fff;font-weight:bold;text-align:center;transform:translateY(-8px);">{index+1}</div>' # 用独立计数器的话把上面的index+1替换为count即可 ) ).add_to(m) # count += 1
可选调整项
- 如果你不需要标签常显,只想点击点位时弹出序号,直接在
CircleMarker参数里加popup=f"{index+1}"即可,不需要额外添加Marker - 标签的字体大小、颜色、位置可以自行修改
html参数里的style属性调整 - 如果数据集索引本身从1开始,直接把
index+1改成index即可
参考数据集结构

内容的提问来源于stack exchange,提问作者Beyza
相关产品推荐
相关产品推荐

