Folium,交互地图可视化的绝佳工具!

文摘   2024-12-19 00:03   贵州  


点击“蓝字”  关注我们


大家好,我是安夏学姐!今天要和大家分享一个特别好用的Python库 - Folium。它是一个基于Python的数据可视化库,可以帮助我们轻松创建漂亮的交互式地图。不管是展示地理数据、标记位置,还是绘制热力图,Folium都能帮我们轻松搞定!

## 初识Folium

我们需要安装Folium。打开终端输入以下命令即可:

```python

pip install folium

安装完成后,让我们来创建第一个简单的地图:


import folium

# 创建一个地图对象,设置中心点为北京

my_map = folium.Map(location=[39.9042, 116.4074], zoom_start=12)

# 保存地图

my_map.save('my_first_map.html')

运行这段代码,你会在当前目录下得到一个HTML文件。打开它,就能看到一个以北京为中心的交互式地图啦!


添加标记

地图有了,接下来我们来添加一些标记:


import folium

# 创建地图

my_map = folium.Map(location=[39.9042, 116.4074], zoom_start=12)

# 添加标记

folium.Marker(

    location=[39.9042, 116.4074],

    popup='天安门',

    icon=folium.Icon(color='red', icon='info-sign')

).add_to(my_map)

# 保存地图

my_map.save('beijing_landmarks.html')

小贴士:folium.Icon() 支持多种颜色和图标样式,你可以根据需要自定义标记的外观!


绘制热力图

如果我们有一些带权重的地理位置数据,可以用热力图来展示:


import folium

from folium import plugins

# 创建地图

my_map = folium.Map(location=[39.9042, 116.4074], zoom_start=12)

# 准备热力图数据

data = [

    [39.9042, 116.4074, 0.8], # 纬度、经度、权重

    [39.9142, 116.4174, 0.3],

    [39.9242, 116.4274, 0.5]

]

# 添加热力图层

plugins.HeatMap(data).add_to(my_map)

# 保存地图

my_map.save('heatmap.html')

添加图层控制

当我们需要在同一张地图上展示多种数据时,可以使用图层控制:


import folium

from folium.plugins import GroupedLayerControl

# 创建地图

my_map = folium.Map(location=[39.9042, 116.4074], zoom_start=12)

# 创建特征组

fg1 = folium.FeatureGroup(name='景点')

fg2 = folium.FeatureGroup(name='餐厅')

# 向不同组添加标记

folium.Marker([39.9042, 116.4074], popup='天安门').add_to(fg1)

folium.Marker([39.9142, 116.4174], popup='某家餐厅').add_to(fg2)

# 将特征组添加到地图

fg1.add_to(my_map)

fg2.add_to(my_map)

# 添加图层控制

folium.LayerControl().add_to(my_map)

# 保存地图

my_map.save('layered_map.html')

实用小技巧

  1. 设置地图样式
     :除了默认的OpenStreetMap,Folium还支持多种地图样式:

folium.Map(tiles='Stamen Terrain') # 地形图

folium.Map(tiles='Stamen Toner') # 黑白风格

  1. 自定义弹出框
     :可以在popup中使用HTML来美化内容:

popup_content = “”“

<h4>天安门</h4>

<p>著名的旅游景点</p>

”“”

folium.Marker(location=[39.9042, 116.4074], popup=popup_content).add_to(my_map)

  1. 保存地图注意事项
     :
  • 确保保存路径存在并且有写入权限
  • 文件名必须以.html结尾
  • 建议使用相对路径而不是绝对路径


小练习

尝试创建一个展示你所在城市主要景点的交互式地图,包含以下要素:


  1. 至少3个景点标记
  2. 每个标记都有信息窗口
  3. 使用不同的图标样式
  4. 添加图层控制

小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问安夏学姐我哦。Folium真的是一个特别有趣的库,你可以用它创造出各种漂亮的地图可视化作品。祝大家学习愉快,Python学习节节高!


Would you like me to explain or break down any part of this code?

往期回顾

◆ SQLAlchemy,数据库操作大师Python库!

◆ Altair,声明式可视化的优雅之选!

点赞分享


流向你

EV电车视点
优质原创公众号
 最新文章