本文主要是介绍python三维图形渲染 地图_Python地图可视化-Folium实例(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里回顾整理下folium的内容,算是一个总结,也记录下官方文档中的其他小栗字。
前两篇参考:橘猫吃不胖:Python地图可视化-Folium实例(一)zhuanlan.zhihu.com橘猫吃不胖:Python地图可视化-Folium实例(二)zhuanlan.zhihu.com修改文本宽度
folium用起来,是有点儿像HTML标签一样,在前面的例子中,直接弹出文本的时候,文本是竖着的,像这样:
现在,来看看如何优化这个,比如,横着显示肯定会更好看嘛
看了看文档,classfolium.map.Popup(html=None,parse_html=False,max_width='100%',show=False,sticky=False,**kwargs)
这个max_width用的上
## 初始化地图,指定上海市
m = folium.Map(
location=[31.2389, 121.4992],
zoom_start=14
)
# 悬浮弹出信息
tooltip = parse_zhch('嘿!')
# 添加marker到地图
folium.Marker([31.2453,121.4857], popup=folium.Popup(html=parse_zhch('外白渡桥')), tooltip=tooltip).add_to(m)
folium.Marker([31.2418,121.4953], popup=folium.Popup(html=parse_zhch('东方明珠'),max_width=10), tooltip=tooltip).add_to(m)
m
指定了宽度,文本就横着显示了
2. 使用HTML标签显示表格
前面有例子调用其他的数据可视化图表,像altar,其实,直接写HTML标签也是可以的,比如
my_table='''
row 1, cell 1 row 1, cell 2 row 2, cell 1 row 2, cell 2'''
然后直接传入popup就行了
## 初始化地图,指定上海市
m = folium.Map(
location=[31.2389, 121.4992],
zoom_start=14
)
# 悬浮弹出信息
tooltip = parse_zhch('嘿!')
# 添加marker到地图
folium.Marker([31.2453,121.4857], popup=folium.Popup(html=my_table,max_width=100), tooltip=tooltip).add_to(m)
folium.Marker([31.2418,121.4953], popup=folium.Popup(html=parse_zhch('东方明珠'),max_width=10), tooltip=tooltip).add_to(m)
m
3.标记-点、线、面
folium可以绘制很多种标记,点、线、面,可以多看看文档
## 初始化地图,指定上海市
m = folium.Map(
location=[31.2389, 121.4992],
zoom_start=15
)
#1. 添加标记点
folium.Marker(
location=[31.2453,121.4857],
popup=folium.Popup(html=parse_zhch('外白渡桥'),max_width=100)
).add_to(m)
#2.添加标记线
folium.PolyLine(
locations=[
[31.24464,121.48348],
[31.24318,121.48262],
[31.23969,121.48433],
[31.24014,121.49171]
],
popup=parse_zhch('路径测试'),
color='red'
).add_to(m)
#3.添加标记多边形
folium.Polygon(
locations=[
[31.2491,121.4908],
[31.2395,121.4798],
[31.2356,121.4958],
[31.2444,121.4984]
],
popup=parse_zhch('多边形测试'),
color='green',
fill=True,
weight=2
).add_to(m)
m
4.保存HTML
将做好的可视化图表保存为HTML
m.save('demo_folium.html')
然后直接使用浏览器打开即可
5.关于图层
folium中可以管理一组标记,比如FeatureGroup,就可以控制一组标记的显示与否了
## 初始化地图,指定上海市
m = folium.Map(
location=[31.2389, 121.4992],
zoom_start=15
)
groups = folium.FeatureGroup('momomomo')
locations=[
[31.24436,121.48080],
[31.24415,121.48208],
[31.24218,121.48171],
[31.24273,121.47967],
[31.24197,121.48177],
[31.24386,121.48220],
[31.24138,121.48174]
]
for l in locations:
groups.add_child(
folium.CircleMarker(
location=l,
radius=7,
color='yellow',
fill=True,
fill_color='red',
fill_opacity=0.4
)
)
m.add_child(groups)
folium.LayerControl().add_to(m)
m
右上角的菜单,可以控制所有的标记是否显示
folium中,还有很多的插件,也蛮好用的,后面尝试后在分享。
这篇关于python三维图形渲染 地图_Python地图可视化-Folium实例(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!