亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python繪制中國大陸人口熱力圖

2020-02-15 23:32:47
字體:
來源:轉載
供稿:網友

這篇文章給出了如何繪制中國人口密度圖,但是運行存在一些問題,我在一些地方進行了修改。

本人使用的IDE是anaconda,因此事先在anaconda prompt 中安裝Basemap包

conda install Basemap

新建文檔,導入需要的包

import matplotlib.pyplot as pltfrom mpl_toolkits.basemap import Basemapfrom matplotlib.patches import Polygonfrom matplotlib.colors import rgb2heximport numpy as npimport pandas as pd

Basemap中不包括中國省界,需要在下面網站下載中國省界,點擊Shapefile下載。

生成中國大陸省界圖片。

plt.figure(figsize=(16,8))m = Basemap( llcrnrlon=77, llcrnrlat=14, urcrnrlon=140, urcrnrlat=51, projection='lcc', lat_1=33, lat_2=45, lon_0=100)m.drawcountries(linewidth=1.5)m.drawcoastlines() m.readshapefile('gadm36_CHN_shp/gadm36_CHN_1', 'states', drawbounds=True)

去國家統計局網站下載人口各省,只需保留地區和總人口即可,保存為csv格式并改名為pop.csv。

讀取數據,儲存為dataframe格式,刪去地名之中的空格,并設置地名為dataframe的index。

df = pd.read_csv('pop.csv')new_index_list = []for i in df["地區"]: i = i.replace(" ","") new_index_list.append(i)new_index = {"region": new_index_list}new_index = pd.DataFrame(new_index)df = pd.concat([df,new_index], axis=1)df = df.drop(["地區"], axis=1)df.set_index("region", inplace=True)

將Basemap中的地區與我們下載的csv中的人口數據對應起來,建立字典。注意,Basemap中的地名與csv文件中的地名并不完全一樣,需要進行一些處理。

provinces = m.states_infostatenames=[]colors = {}cmap = plt.cm.YlOrRdvmax = 100000000vmin = 3000000 for each_province in provinces: province_name = each_province['NL_NAME_1'] p = province_name.split('|') if len(p) > 1:  s = p[1] else:  s = p[0] s = s[:2] if s == '黑龍':  s = '黑龍江' if s == '內蒙':  s = '內蒙古' statenames.append(s) pop = df['人口數'][s] colors[s] = cmap(np.sqrt((pop - vmin) / (vmax - vmin)))[:3]

最后畫出圖片即可

ax = plt.gca()for nshape, seg in enumerate(m.states): color = rgb2hex(colors[statenames[nshape]]) poly = Polygon(seg, facecolor=color, edgecolor=color) ax.add_patch(poly) plt.show()

完整代碼如下

# -*- coding: utf-8 -*- import matplotlib.pyplot as pltfrom mpl_toolkits.basemap import Basemapfrom matplotlib.patches import Polygonfrom matplotlib.colors import rgb2heximport numpy as npimport pandas as pd plt.figure(figsize=(16,8))m = Basemap( llcrnrlon=77, llcrnrlat=14, urcrnrlon=140, urcrnrlat=51, projection='lcc', lat_1=33, lat_2=45, lon_0=100)m.drawcountries(linewidth=1.5)m.drawcoastlines() m.readshapefile('gadm36_CHN_shp/gadm36_CHN_1', 'states', drawbounds=True) df = pd.read_csv('pop.csv')new_index_list = []for i in df["地區"]: i = i.replace(" ","") new_index_list.append(i)new_index = {"region": new_index_list}new_index = pd.DataFrame(new_index)df = pd.concat([df,new_index], axis=1)df = df.drop(["地區"], axis=1)df.set_index("region", inplace=True) provinces = m.states_infostatenames=[]colors = {}cmap = plt.cm.YlOrRdvmax = 100000000vmin = 3000000 for each_province in provinces: province_name = each_province['NL_NAME_1'] p = province_name.split('|') if len(p) > 1:  s = p[1] else:  s = p[0] s = s[:2] if s == '黑龍':  s = '黑龍江' if s == '內蒙':  s = '內蒙古' statenames.append(s) pop = df['人口數'][s] colors[s] = cmap(np.sqrt((pop - vmin) / (vmax - vmin)))[:3] ax = plt.gca()for nshape, seg in enumerate(m.states): color = rgb2hex(colors[statenames[nshape]]) poly = Polygon(seg, facecolor=color, edgecolor=color) ax.add_patch(poly) plt.show()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合久久88| 国产精品亚洲自拍| 成人xvideos免费视频| 欧美视频第一页| 国内精品久久久| 国产在线一区二区三区| 俺去亚洲欧洲欧美日韩| 免费不卡欧美自拍视频| 疯狂做受xxxx高潮欧美日本| 日本免费在线精品| 亚洲一区二区三区sesese| 91av在线免费观看视频| 日韩av资源在线播放| 亚洲高清在线观看| 最新91在线视频| 在线观看欧美日韩国产| yw.139尤物在线精品视频| 欧美黑人性猛交| 国产精品视频自在线| 亚洲九九九在线观看| 亚洲а∨天堂久久精品9966| 久久99久久99精品免观看粉嫩| 日韩在线小视频| 久久av中文字幕| 成人精品一区二区三区| 欧美成人免费大片| 日韩美女视频免费看| 久久免费精品日本久久中文字幕| www.日韩.com| 日韩三级成人av网| 国产成人综合久久| 国产亚洲日本欧美韩国| 色视频www在线播放国产成人| 亚洲福利视频网站| 91精品视频在线播放| 欧美黑人极品猛少妇色xxxxx| 日韩美女在线观看| 欧美精品在线观看91| 狠狠做深爱婷婷久久综合一区| 97不卡在线视频| 国产玖玖精品视频| 日韩高清av一区二区三区| 91在线视频导航| 不卡中文字幕av| www.国产精品一二区| 欧美肥老太性生活视频| 欧美一级淫片丝袜脚交| 一区二区欧美激情| 日韩精品中文字幕视频在线| 国产精品美女久久| 永久555www成人免费| 亚洲自拍偷拍第一页| 色综合视频一区中文字幕| 亚洲国产中文字幕在线观看| 亚洲理论电影网| 亚洲免费伊人电影在线观看av| 欧美日韩综合视频| 国产精品久久久久久av福利软件| 日韩二区三区在线| 91亚洲一区精品| 亚洲aa中文字幕| 国产精品免费一区| 亚洲欧洲第一视频| 在线播放亚洲激情| 中文字幕亚洲无线码a| 国产视频综合在线| 国产精品视频yy9099| 中文字幕亚洲在线| 亚洲国产天堂久久综合| 亚洲黄色免费三级| 2019中文字幕全在线观看| 亚洲国产高潮在线观看| 国产xxx69麻豆国语对白| 少妇高潮久久77777| 日韩中文字幕在线免费观看| 狠狠躁夜夜躁人人爽天天天天97| 欧美亚洲第一页| 欧洲亚洲女同hd| 久久中文精品视频| 欧美精品生活片| 亚洲精品成人免费| 国产中文欧美精品| 精品视频—区二区三区免费| 国产aⅴ夜夜欢一区二区三区| 国产一区二区在线免费视频| 成人午夜两性视频| 久久久精品在线| 国产一区二区三区日韩欧美| 亚洲精选一区二区| 亚洲色图狂野欧美| 一区二区三区回区在观看免费视频| 68精品久久久久久欧美| 亚洲国产欧美一区二区三区同亚洲| 国产亚洲欧洲高清一区| 久久中国妇女中文字幕| 欧美在线视频免费播放| 精品欧美激情精品一区| 成人网址在线观看| 亚洲第一福利视频| 91精品国产色综合| 热久久这里只有精品| 亚洲精品乱码久久久久久按摩观| 国模极品一区二区三区| 大荫蒂欧美视频另类xxxx| 亚洲电影在线观看| 97在线视频一区| 国产日韩在线亚洲字幕中文| 欧美激情按摩在线| 欧美另类69精品久久久久9999| 一区二区三区天堂av| 91久久久久久久久久久久久| 欧美日韩国产一中文字不卡| 日韩美女在线播放| 欧美激情久久久久| 精品一区精品二区| 最好看的2019的中文字幕视频| 裸体女人亚洲精品一区| 亚洲开心激情网| 亚洲丝袜在线视频| 国内精品伊人久久| 成人做爰www免费看视频网站| 日韩中文字幕av| 欧美怡春院一区二区三区| 日本不卡视频在线播放| 国产精品久久久久久久天堂| 91丝袜美腿美女视频网站| 91久久在线观看| 欧美大片欧美激情性色a∨久久| 中文字幕久精品免费视频| 欧美激情一区二区三区在线视频观看| 日韩精品极品毛片系列视频| 丝袜亚洲另类欧美重口| 日韩人体视频一二区| 亚洲久久久久久久久久久| 91精品视频免费观看| 亚洲а∨天堂久久精品喷水| 国产一区二区三区视频| 精品视频久久久久久久| 中文字幕少妇一区二区三区| 成人免费午夜电影| 51视频国产精品一区二区| 国产精品视频免费观看www| 精品性高朝久久久久久久| 岛国av一区二区在线在线观看| 另类天堂视频在线观看| 亚洲人成毛片在线播放| 45www国产精品网站| 亚洲成人亚洲激情| 日韩大片在线观看视频| www日韩中文字幕在线看| 国产日韩在线播放| 一区二区三区视频免费| xxav国产精品美女主播| 精品视频中文字幕| 中文字幕日韩欧美精品在线观看| 岛国av一区二区| 日韩av一卡二卡| 久久香蕉国产线看观看av| 最近2019年好看中文字幕视频| 亚洲qvod图片区电影| xxav国产精品美女主播| 国产精品一区二区久久精品| 91国产美女在线观看| 成人av色在线观看|