如何解决如何在带有叶的html上添加图例?
我使用此代码在html上生成坐标,但是我想在此html中添加图例,该怎么办?
import folium
m = folium.Map(location=[45.5236,-122.6750])
html = 'Hello'
popup=folium.Popup(html,show=True,max_width=400)
folium.Circle(
location = [45.372,-122.6972],radius = 100,popup=popup,color='red',fill=True,fill_opacity=0.1
).add_to(m)
m.save(r'E:/test.html')
我想要这样的效果:
解决方法
正如r初学者所说。
我使用此example添加图例。
from branca.element import Template,MacroElement
import folium
template = """
{% macro html(this,kwargs) %}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$( "#maplegend" ).draggable({
start: function (event,ui) {
$(this).css({
right: "auto",top: "auto",bottom: "auto"
});
}
});
});
</script>
</head>
<body>
<div id='maplegend' class='maplegend'
style='position: absolute; z-index:9999; border:2px solid grey; background-color:rgba(255,255,0.8);
border-radius:6px; padding: 10px; font-size:14px; right: 20px; bottom: 20px;'>
<div class='legend-title'>Legend (draggable!)</div>
<div class='legend-scale'>
<ul class='legend-labels'>
<li><span style='background:red;opacity:0.7;'></span>Big</li>
<li><span style='background:orange;opacity:0.7;'></span>Medium</li>
<li><span style='background:green;opacity:0.7;'></span>Small</li>
</ul>
</div>
</div>
</body>
</html>
<style type='text/css'>
.maplegend .legend-title {
text-align: left;
margin-bottom: 5px;
font-weight: bold;
font-size: 90%;
}
.maplegend .legend-scale ul {
margin: 0;
margin-bottom: 5px;
padding: 0;
float: left;
list-style: none;
}
.maplegend .legend-scale ul li {
font-size: 80%;
list-style: none;
margin-left: 0;
line-height: 18px;
margin-bottom: 2px;
}
.maplegend ul.legend-labels li span {
display: block;
float: left;
height: 16px;
width: 30px;
margin-right: 5px;
margin-left: 0;
border: 1px solid #999;
}
.maplegend .legend-source {
font-size: 80%;
color: #777;
clear: both;
}
.maplegend a {
color: #777;
}
</style>
{% endmacro %}"""
m = folium.Map(location=[45.5236,-122.6750])
html = 'Hello'
popup=folium.Popup(html,show=True,max_width=400)
folium.Circle(
location = [45.372,-122.6972],radius = 100,popup=popup,color='red',fill=True,fill_opacity=0.1
).add_to(m)
macro = MacroElement()
macro._template = Template(template)
m.get_root().add_child(macro)
url = 'myTest.html'
m.save(url)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。