如何解决绘制大叶地图时从数组中选择颜色
我正在尝试创建一个地图,在 Jupyter Notebook 和 folium 中显示其位置中的一些餐厅。此外,餐厅被分配了不同的类别。我想为每个类别指定不同的颜色。
df_unicos 是一个 Pandas 数据框,包含所有不同类别的可用餐厅(即 15、0 到 14)。如果我注释 (#) 包含 'mo' 变量的行,它会起作用,但所有标记都具有相同的颜色。
rangocolores=len(target['Venue Category'].unique())
# create map of the restaurants of Terrassa using latitude and longitude values
map_restaurants = folium.Map(location=[latitude,longitude],zoom_start=14)
#set color scheme for the clusters
x = np.arange(rangocolores)
ys = [i + x + (i*x)**2 for i in range(rangocolores)]
colors_array = cm.rainbow(np.linspace(0,1,len(ys)))
rainbow = [colors.rgb2hex(i) for i in colors_array]
# add markers to the map
markers_colors = []
mo=0
for lat,lng,venu,barri in zip(target['Venue Latitude'],target['Venue Longitude'],target['Venue Category'],target['Neighborhood']):
mo=df_unicos[df_unicos['Restaurante'].str.contains(venu)].index.item()
label = '{},{}'.format(venu,barri)
label = folium.Popup(label,parse_html=True)
folium.CircleMarker(
[lat,lng],radius=5,popup=label,color=rainbow[mo],fill=True,fill_color=rainbow[mo],fill_opacity=0.7).add_to(map_restaurants)
map_restaurants
我收到以下错误:
ValueError: can only convert an array of size 1 to a Python scalar
它指向线:
mo=df_unicos[df_unicos['Restaurante'].str.contains(venu)].index.item()
任何帮助将不胜感激,非常感谢!
阿图罗
解决方法
我是 Python 新手...
变化
.str.contains()
到
.str.match()
解决了这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。