查看原文
其他

folium:地图数据可视化库

大邓 大邓和他的Python 2022-07-09

folium是一个基于leaflet.js的python地图库,可以通过folium来操纵数据,并将其可视化。

安装

  1. !pip3 install folium

最简单的地图

这里我使用哈尔滨(45.7476198321, 126.6324558375)所在的经纬度信息,绘制出最简单的Map地图对象,直接调用该对象即可在notebook中显示。

  1. import folium



  2. #绘制哈尔滨地图图层

  3. m = folium.Map(location=[45.7476198321,126.6324558375])

  4. m

保存地图到html

为了将地图保存到html文件中,可以使用如下命令

  1. m.save('Harbin.html')

地图纹理样式 tiles

tiles默认是设置成 OpenStreetMap,但folium也内置了 StamenTerrain,StamenToner,MapboxBright,andMapboxControlRoom。具体大家可以试试不同的tiles的显示效果

  1. import folium



  2. m = folium.Map(location=[45.747,126.632],

  3. tiles='Stamen Toner',

  4. zoom_start=12) #地图缩放程度

  5. m

  1. import folium



  2. m = folium.Map(location=[45.747,126.632],

  3. tiles='Stamen Terrain',

  4. zoom_start=12) #地图缩放程度

  5. m


地图标注

在folium中有很多标记类型,而且拥有popup和tooltip 的 HTML,这块我翻译的也不太到位,大家直接看代码和运行结果吧

  1. import folium







  1. m = folium.Map(location=[45.747,126.632],

  2. tiles='Stamen Terrain',

  3. zoom_start=12) #地图缩放程度






  1. tooltip = '请点击我查看该点信息'



  1. folium.Marker([45.7476198321,126.6324558375],

  2. popup='<i>哈工大</i>',

  3. tooltip=tooltip).add_to(m)





  1. folium.Marker([45.7757912763,126.6821874003],

  2. popup='<b>哈工程</b>',

  3. tooltip=tooltip).add_to(m)

  4. m

标记的样式

标记marker的icon可以设置不同的风格,如下面的颜色不同的三种标记

  1. import folium





  2. #哈尔滨地图图层

  3. m = folium.Map(location=[45.747,126.632],

  4. tiles='Stamen Terrain',

  5. zoom_start=12) #地图缩放程度




  6. tooltip = '请点击我查看该点信息'


  7. #在哈尔滨地图图层中添加标记

  8. folium.Marker([45.7476198321,126.6324558375],

  9. popup='<i>哈工大</i>',

  10. tooltip=tooltip,

  11. icon=folium.Icon(color='red')).add_to(m)


  1. folium.Marker([45.7757912763,126.6821874003],

  2. popup='<b>哈工程</b>',

  3. tooltip=tooltip,

  4. icon=folium.Icon(color='blue')).add_to(m)


  5. folium.Marker([45.7207185264,126.6381461963],

  6. popup='<b>东北林业大学</b>',

  7. tooltip=tooltip,

  8. icon=folium.Icon(color='green')).add_to(m)

  9. m

地图中画圈

有时候我们需要标记某个点的周围,如使用圆形或者圆点。

  1. import folium




  2. #哈尔滨地图图层

  3. m = folium.Map(location=[45.747,126.632],

  4. tiles='Stamen Toner',

  5. zoom_start=13) #地图缩放程度



  6. #在哈尔滨地图图层中添加标记

  7. folium.Circle(

  8. location = [45.7207185264,126.6381461963],

  9. radius=100,

  10. popup='东北林业大学',

  11. color='blue',

  12. fill=False

  13. ).add_to(m)



  14. folium.CircleMarker(

  15. location = [45.7476198321,126.6324558375],

  16. radius=100,

  17. popup='哈工大',

  18. color='#3186cc',

  19. fill=True,

  20. fill_color='#3186cc'

  21. ).add_to(m)


  22. m

folium还有更多的精致的地图可视化效果,本文仅仅是将比较简单的代码进行了讲解,之后大家如果感兴趣可阅读官方文档

https://python-visualization.github.io/folium

推荐阅读

【视频教程】文本数据挖掘快速入门  

flashtext:大规模文本数据清洗利器

【大邓推荐阅读】学习编程遇到问题,该如何正确的求助(提问)?

【大邓自己的付费视频课】ython爬虫、文本分析、机器学习系列课视频教程

100G 文本分析语料资源(免费下载) 

手把手教你学会LDA话题模型可视化pyLDAvis库

【工具篇】如何用Google Colab高效的学习Python

爬虫实战:抓取知乎问题“大学生如何赚到一万元”

使用Python制作WORD报告 

使用Pandas、Jinja和WeasyPrint制作pdf报告  

【量化】seaborn在金融数据可视化中的应用

【量化】如何用Python找到投资时的最佳组合比例

中文数据可视化你需要知道的一个库

大神kennethreitz写出requests-html,号称为人设计的网页解析库

少有人知的python数据科学库

十分钟带你入门最python风格的Gui库

公众号后台回复”20190504"得本项目代码

我就希望你给我一个好看


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存