推荐一个超好用的python包folium, 专门用于地理数据可视化

使用方法很简单,操作如下:

  1. 导入包,创建一副世界地图
import folium
import pandas as pd# define the world map
world_map = folium.Map()# display world map
world_map


2. 输入经纬度,尺度,在这里我们以旧金山(37.7749° N, 122.4194° W)为例。

# San Francisco latitude and longitude values
latitude = 37.77
longitude = -122.42# Create map and display it
san_map = folium.Map(location=[latitude, longitude], zoom_start=12)# Display the map of San Francisco
san_map

更改地图显示,默认为’OpenStreetMap’风格,我们还可以选择’Stamen Terrain’, 'Stamen Toner’等。

# Create map and display it
san_map = folium.Map(location=[latitude, longitude], zoom_start=12,tiles='Stamen Toner')


3. 读取数据集(旧金山犯罪数据集)

# Read Dataset
cdata = pd.read_csv('https://cocl.us/sanfran_crime_dataset')
cdata.head()


4. 在地图上显示前200条犯罪数据

# get the first 200 crimes in the cdata
limit = 200
data = cdata.iloc[0:limit, :]# Instantiate a feature group for the incidents in the dataframe
incidents = folium.map.FeatureGroup()# Loop through the 200 crimes and add each to the incidents feature group
for lat, lng, in zip(cdata.Y, data.X):incidents.add_child(folium.CircleMarker([lat, lng],radius=7, # define how big you want the circle markers to becolor='yellow',fill=True,fill_color='red',fill_opacity=0.4))# Add incidents to map
san_map = folium.Map(location=[latitude, longitude], zoom_start=12)
san_map.add_child(incidents)

  1. 添加地理标签
 # add pop-up text to each marker on the map
latitudes = list(data.Y)
longitudes = list(data.X)
labels = list(data.Category)for lat, lng, label in zip(latitudes, longitudes, labels):folium.Marker([lat, lng], popup=label).add_to(san_map)    # add incidents to map
san_map.add_child(incidents)


6. 统计区域犯罪总数from folium import plugins

# let's start again with a clean copy of the map of San Francisco
san_map = folium.Map(location = [latitude, longitude], zoom_start = 12)# instantiate a mark cluster object for the incidents in the dataframe
incidents = plugins.MarkerCluster().add_to(san_map)# loop through the dataframe and add each data point to the mark cluster
for lat, lng, label, in zip(data.Y, data.X, cdata.Category):folium.Marker(location=[lat, lng],icon=None,popup=label,).add_to(incidents)# add incidents to map
san_map.add_child(incidents)


7. 读取geojson文件,可视化旧金山市10个不同Neighborhood的边界import json

import requestsurl = 'https://cocl.us/sanfran_geojson'
san_geo = f'{url}'
san_map = folium.Map(location=[37.77, -122.4], zoom_start=12)
folium.GeoJson(san_geo,style_function=lambda feature: {'fillColor': '#ffff00','color': 'black','weight': 2,'dashArray': '5, 5'}
).add_to(san_map)#display map
san_map

  1. 统计每个区域的犯罪事件数目# Count crime numbers in each neighborhood
disdata = pd.DataFrame(cdata['PdDistrict'].value_counts())
disdata.reset_index(inplace=True)
disdata.rename(columns={'index':'Neighborhood','PdDistrict':'Count'},inplace=True)
disdata


9. 创建Choropleth Map (颜色深浅代表各区犯罪事件数目)

m = folium.Map(location=[37.77, -122.4], zoom_start=12)
folium.Choropleth(geo_data=san_geo,data=disdata,columns=['Neighborhood','Count'],key_on='feature.properties.DISTRICT',#fill_color='red',fill_color='YlOrRd',fill_opacity=0.7,line_opacity=0.2,highlight=True,legend_name='Crime Counts in San Francisco'
).add_to(m)
m


10. 创建热力图

from folium.plugins import HeatMap# let's start again with a clean copy of the map of San Francisco
san_map = folium.Map(location = [latitude, longitude], zoom_start = 12)# Convert data format
heatdata = data[['Y','X']].values.tolist()# add incidents to map
HeatMap(heatdata).add_to(san_map)san_map

最后:关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

朋友们如果需要这份完整的资料可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。

【干货教程】如何用Python优雅地绘制中国的地图相关推荐

  1. python调用有道翻译_如何用python“优雅的”调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

  2. python空气质量分析与预测_干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?...

    原标题:干货!如何用 Python+KNN 算法实现城市空气质量分析与预测? 作者 | 李秋键 责编 | 伍杏玲 封图 | CSDN 付费下载自东方 IC 出品 | CSDN(ID:CSDNnews) ...

  3. Python 教你绘制个人旅行地图,就是那么牛

    今天教大家玩一个别人没有玩过的东西,用Python晒自己的旅行地图.听起来就很高级,这下要成为朋友圈最亮的仔了. 很多地图都只能显示到省级,无法显示到市级.今天就教大家如何用Python来制作个人的足 ...

  4. python for ArcGIS 绘制北京市板块地图

    python for ArcGIS 绘制北京市板块地图 结果预览 数据 完整代码 代码解读 需要利用python的arcpy模块绘制出北京市板块地图如下 结果预览 数据 原始板块边界数据如下 完整代码 ...

  5. python for ArcGIS 绘制西安市板块地图

    python for ArcGIS 绘制西安市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出西安市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  6. python for ArcGIS 绘制南京市板块地图

    python for ArcGIS 绘制南京市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出南京市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  7. python for ArcGIS 绘制上海市板块地图

    python for ArcGIS 绘制上海市板块地图 背景及思路 完整代码 结果截图 代码解读 后话 背景及思路 第一次用python操作 ArcGIS, 写下这篇博文记录一下.板块是房地产行业专有 ...

  8. python for ArcGIS 绘制天津市板块地图

    python for ArcGIS 绘制天津市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出天津市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  9. python for ArcGIS 绘制郑州市板块地图

    python for ArcGIS 绘制郑州市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出郑州市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

最新文章

  1. R语言ggplot2可视化:可视化离散(分类)变量的堆叠的柱状图、横轴是离散变量、柱状图是多个分组的计数和叠加
  2. Unity3D小功能 小技巧 小教程 小原理(持续更新...)
  3. pl/sql显示乱码
  4. ATOM插件库,收藏以备不时仔细!
  5. XLNet再次超越BERT,技术发展太快,如何才能跟得上节奏?
  6. Apache Cassandra和Apache Ignite:关系并置和分布式SQL
  7. 添加请求头 retrofit_RxJava 与 Retrofit 结合的最佳实践
  8. delphi自定义统一基础设置_Java项目构建基础:统一结果,统一异常,统一日志...
  9. 老鸟的Python新手教程
  10. Rust 与服务端编程的碎碎念
  11. Windows新版算号器技术原理
  12. umijs 隐藏开发工具_使用UmiJS框架开发React应用
  13. 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法
  14. 简述JVM垃圾回收机制
  15. 一种由视频和音频共同驱动的说话人脸合成方法简介
  16. 程序员保护眼睛几种方法
  17. 2022福大数学建模赛题B题-主成分分析和单因素方差分析-附python代码
  18. c语言程序用if循环,if语句的用法循环语句
  19. java火星坐标转百度坐标_各种地理坐标系的转换,火星坐标,百度坐标,wsg84等...
  20. 非常漂亮的放焰火效果的Applet程序

热门文章

  1. PageHelper获取总数
  2. 女生读计算机还是经济学,女生最吃香的十大专业你知道是什么吗?女生一定要懂...
  3. 广州市积分落户政策2023年新政
  4. linux进阶_4所Linux进阶学校
  5. 如何让浏览器的左上角显示自己的logo的小诀窍
  6. C++ Primer 总结之Chap3 Library Types
  7. C语言结构体大小计算
  8. 【宝塔】【Windows】【Blessing-Skin】【我的世界】用宝塔Windows搭建皮肤站
  9. idea2019本地导入lombok不兼容问题
  10. 2019 年社保抵扣所得税说明