python使用folium绘制地图热力图分布

参数

location:地图中心

zoom_start:比例尺,默认为10级,大约是一个城市的范围;

width和height:地图的长宽,如果是int则表示像素值,如果是str则表示百分比;

max_zoom:地图可以手动调节的最大比例,默认为18级;

control_scale:是否在地图上添加比例尺,默认为False;

no_touch:是否禁止手动操作,默认为False;

tiles:地图样式,默认为OpenStreetMap

attr:如果设置非内建地图样式,则需要传入这个值,可以理解为你选择的地图样式名称

 

import pandas as pd
import folium
from folium.plugins import HeatMap
# 加载数据
data = pd.read_excel(r'C:\Users\win10\Desktop\新建 XLSX 工作表.xlsx')
# 获取需要的数据
lng = data['longitude']
lat = data['latitude']
heat_data = [[row['latitude'],row['longitude']] for index, row in data.iterrows()]
# 绘制地图
m = folium.Map(location=[30, 120],
               zoom_start=11,
               tiles='https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7',
               attr='高德-常规图') # 初始化地图
# 添加热力图层
HeatMap(heat_data, name='热力图').add_to(m)
# 保存地图
m.save(r'C:\Users\win10\Desktop\heatmap.html')

 excel表格样例

 ​​​​​​​