如何解决与folium 中的数据框列关联的颜色
Lat | Long | Label
x1 | y1 | id1
x2 | y2 | id2
x3 | y3 | id3
并且我想在大叶地图中绘制 Lat
和 Long
,其中标记根据 Label
的值着色。问题是 Label
是 string
。如果是 int
,我可以执行以下操作
m = folium.Map(location=[21.37000,-158.08000],zoom_start=1000)
color_pallete = sns.color_palette()
color_pallete = sns.color_palette("Set2",8000)
color_pallete = color_pallete.as_hex()
for index,row in test.iterrows():
c = color_pallete[int(row['label'])]
folium.CircleMarker([row['Lat'],row['Long']],fill_color=c,radius=2,fill=True,color=c).add_to(m)
当标签是字符串时,谁能帮我解决这个问题? IE。我可以根据 Label
的值创建另一列整数吗?如果是这样,该怎么做?
编辑:仅在 color=row['label']
的参数中添加 CircleMarker
无济于事,因为那样一切都是黑色,不太容易区分。
Edit2:更改标签以表示 uuid
解决方法
对于任何有同样问题的人,我使用以下方法来创建随机颜色的十六进制,
color = "%06x" % random.randint(0,0xFFFFFF)
按照 here 的建议,然后创建一个以标签为键、以十六进制为键的字典,以传递给 folium。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。