700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python/folium绘制中国人口数量热力图(HeatMap)

python/folium绘制中国人口数量热力图(HeatMap)

时间:2021-05-23 05:23:16

相关推荐

python/folium绘制中国人口数量热力图(HeatMap)

之前写过一篇博客,使用basemap实现的,

Basemap绘制中国地图

今天发现另一个软件库folium可以实现对openstreetmap的调用,参考链接/qq_14906811/article/details/74906275 ,下面是操作步骤:

下载Cities-CHINA.xlsx ,包含中国各城市的经纬度,人口数量,GDP,自己网上搜索整理,数据可能过时了,和维基百科查到的数据不太对,但是拿来写个小程序还是足够的) 安装folium

pip3 install folium

代码实现

# -*- coding: utf-8 -*-"""Created on Sat Dec 23 20:19:47 @author: 周文青"""import numpy as npimport pandas as pdimport seaborn as snsimport foliumimport webbrowserfrom folium.plugins import HeatMap# posi=pd.read_csv("D:\\Files\\datasets\\CitiesLatLon_China.csv")posi=pd.read_excel("Cities-CHINA.xlsx")num = 10lat = np.array(posi["lat"][0:num]) # 获取维度之维度值lon = np.array(posi["lon"][0:num]) # 获取经度值pop = np.array(posi["pop"][0:num],dtype=float) # 获取人口数,转化为numpy浮点型gdp = np.array(posi["GDP"][0:num],dtype=float) # 获取人口数,转化为numpy浮点型data1 = [[lat[i],lon[i],pop[i]] for i in range(num)] #将数据制作成[lats,lons,weights]的形式map_osm = folium.Map(location=[35,110],zoom_start=5) #绘制Map,开始缩放程度是5倍HeatMap(data1).add_to(map_osm) # 将热力图添加到前面建立的map里file_path = r"D:\Files\python\地图\人口.html"map_osm.save(file_path)# 保存为html文件webbrowser.open(file_path) # 默认浏览器打开

结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。