添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
温暖的枕头  ·  Python ...·  1 年前    · 
骑白马的口罩  ·  Windows 2010 VBA ...·  2 年前    · 
Python地图可视化-Folium实例(三)

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

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

前两篇参考:


  1. 修改文本宽度

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

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

看了看文档,

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

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

2. 使用HTML标签显示表格

前面有例子调用其他的数据可视化图表,像altar,其实,直接写HTML标签也是可以的,比如

my_table='''
<table border="1">
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</table>

然后直接传入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