1. 程式人生 > >python/folium繪製中國人口數量熱力圖(HeatMap)

python/folium繪製中國人口數量熱力圖(HeatMap)

之前寫過一篇部落格,使用basemap實現的,

  • 下載2015Cities-CHINA.xlsx ,包含中國各城市的經緯度,人口數量,GDP,自己網上搜索整理,資料可能過時了,和維基百科查到的資料不太對,但是拿來寫個小程式還是足夠的)
  • 安裝folium

pip3 install folium

  • 程式碼實現
# -*- coding: utf-8 -*-
"""
Created on Sat Dec 23 20:19:47 2017

@author: 周文青
"""

import numpy as np
import pandas as pd
import seaborn as
sns import folium import webbrowser from folium.plugins import HeatMap # posi=pd.read_csv("D:\\Files\\datasets\\CitiesLatLon_China.csv") posi=pd.read_excel("2015Cities-CHINA.xlsx") num = 10 lat = 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) # 預設瀏覽器開啟
  • 結果:
    這裡寫圖片描述