python可视化实例_Python地图可视化-Folium实例(三)

python可视化实例_Python地图可视化-Folium实例(三)_第1张图片

这里回顾整理下folium的内容,算是一个总结,也记录下官方文档中的其他小栗字。

前两篇参考:

橘猫吃不胖:Python地图可视化-Folium实例(一)​zhuanlan.zhihu.com
python可视化实例_Python地图可视化-Folium实例(三)_第2张图片
橘猫吃不胖:Python地图可视化-Folium实例(二)​zhuanlan.zhihu.com
python可视化实例_Python地图可视化-Folium实例(三)_第3张图片

  1. 修改文本宽度

folium用起来,是有点儿像HTML标签一样,在前面的例子中,直接弹出文本的时候,文本是竖着的,像这样:

python可视化实例_Python地图可视化-Folium实例(三)_第4张图片

现在,来看看如何优化这个,比如,横着显示肯定会更好看嘛

看了看文档,

class folium.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

指定了宽度,文本就横着显示了

python可视化实例_Python地图可视化-Folium实例(三)_第5张图片

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

python可视化实例_Python地图可视化-Folium实例(三)_第6张图片

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

python可视化实例_Python地图可视化-Folium实例(三)_第7张图片

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

python可视化实例_Python地图可视化-Folium实例(三)_第8张图片

右上角的菜单,可以控制所有的标记是否显示


folium中,还有很多的插件,也蛮好用的,后面尝试后在分享。

你可能感兴趣的:(python可视化实例)