Я пытаюсь создать карту в Folium с несколькими слоями, каждый из которых состоит из заштрихованных областей (используя GeoJSON) с цветами, заданными цветовой картой.Я хотел бы добавить легенды к моим слоям.Я нашел первое решение здесь , но проблема с этим решением заключалась в том, что легенда была зафиксирована в правом верхнем углу и, что более важно, она всегда была там.Вместо этого я хотел бы использовать легенду, которая отображается только при отображении соответствующего слоя.
Вот пример кода, который я пробовал (где m - моя карта Folium, а cm1 и cm2 - карты цветов):
folium.GeoJson(data['Temp'],
name='Temp',
style_function=lambda x: {
'fillColor': cm1(x['properties']['Temp']),
'fillOpacity': 0.2,
'color' : None
},
highlight_function=lambda x: {'weight':3, 'color':'black'},
tooltip=folium.features.GeoJsonTooltip(fields=['Temp', 'Rain'],
labels=True,
sticky=True
), show=False).add_to(m)
folium.GeoJson(data['Rain'],
name='Rain',
style_function=lambda x: {
'fillColor': cm2(x['properties']['Rain']),
'fillOpacity': 0.2,
'color' : None
},
highlight_function=lambda x: {'weight':3, 'color':'black'},
tooltip=folium.features.GeoJsonTooltip(fields=['Temp', 'Rain'],
labels=True,
sticky=True
), show=False).add_to(m)
cm1.caption = 'Temp scale'
cm2.caption = 'Rain scale'
m.add_child(cm1)
m.add_child(cm2)
folium.LayerControl().add_to(m)
Как изменить код так, чтобы условные обозначения отображались только при отображении соответствующих слоев?(И если возможно, как я могу переместить легенды внизу слева?)