艾銻知識—用Python畫中國地圖,實現(xiàn)各省份數(shù)據(jù)可視化
2020-04-24 17:39 作者:艾銻無限 瀏覽量:
用Python畫中國地圖,實現(xiàn)各省份數(shù)據(jù)可視化
用Python畫中國地圖,實現(xiàn)各省份數(shù)據(jù)可視化,pyecharts是一款將python與echarts結(jié)合的強大的數(shù)據(jù)可視化工具,本文使用了0.1.9.4版本
第一步:安裝pyecharts
pyecharts是一款將python與echarts結(jié)合的強大的數(shù)據(jù)可視化工具,本文使用了0.1.9.4版本
-
pip install pyecharts==0.1.9.4
第二步:讀取數(shù)據(jù)
我的數(shù)據(jù)是在Excel表格里,如下圖:
Execel數(shù)據(jù)
使用xlrd(沒有就通過pip install xlrd安裝)讀取Excel表格中的數(shù)據(jù)
-
# 第一種方式,使用xlrd讀取Execel表格中數(shù)據(jù)
-
data = xlrd.open_workbook('data.xlsx')
-
table = data.sheet_by_name('Sheet1')
-
province = table.col_values(0)[1:]
-
num = table.col_values(1)[1:]
如果各位沒有相應(yīng)的Execel文件,也不想新建一個,那就干脆自己定義一個字典,其中鍵是省份,值是對應(yīng)的數(shù)量,然后再把對應(yīng)的值取出來
-
# 第二種方式,直接自己寫一個字典,然后取出相應(yīng)數(shù)據(jù)
-
province_distribution = {'四川': 239.0, '浙江': 231.0, '福建': 203.0, '江蘇': 185.0, '湖南': 152.0, '山東': 131.0, '安徽': 100.0, '廣東': 89.0, '河北': 87.0, '湖北': 84.0, '吉林': 75.0,
-
'上海': 70.0, '江西': 64.0, '廣西': 64.0, '貴州': 64.0, '北京': 63.0, '云南': 53.0, '重慶': 49.0, '河南': 48.0, '陜西': 38.0, '山西': 37.0, '遼寧': 33.0, '新疆': 25.0,
-
'內(nèi)蒙古': 23.0, '黑龍江': 20.0, '天津': 19.0, '甘肅': 13.0, '海南': 9.0, '青海': 7.0, '寧夏': 4.0, '西藏': 0.0}
-
provice = list(province_distribution.keys())
-
num = list(province_distribution.values())
第三步:畫圖
-
chinaMap = Map(width=1200, height=600)
-
chinaMap.add(name="分布數(shù)量",
-
attr=province,
-
value=num,
-
visual_range=[0, 239],
-
maptype='china',
-
is_visualmap=True)
-
chinaMap.render(path="中國地圖.html")
-
其中參數(shù)name指的是顯示在地圖正上方的標(biāo)題,
-
attr就是一個包含了各省份名稱的列表,
-
value就是包含了各省份對應(yīng)數(shù)值的列表,
-
visual_range指的是整個數(shù)據(jù)中的數(shù)值范圍,
-
maptype就是指的地圖類型,
-
is_visualmap代表是否顯示顏色
這時候就會生成一個名稱為“中國地圖.html”的文件,打開后如下圖所示:
無省份名稱地圖
如果想保存為圖片,可以點擊地圖右側(cè)的下載按鈕,因為隔著比較遠(yuǎn),我在錄屏的時候并沒有把下載按鈕錄進(jìn)來,但大家在自己電腦上肯定會看見的。
第四步:進(jìn)一步優(yōu)化
大家可以看到上圖中各省份的名稱只有在被鼠標(biāo)選中的情況下,才能顯示,并且所保存的圖片也不會顯示各省份名稱,如果要顯示各省份名稱,則需要對html文件就行修改,推薦使用notepad++(一個文本編輯軟件,直接去百度上下載,很簡單的)打開“中國地圖.html”文件,然后在第1923行的那個series中添加"label":{ "normal":{ "show":true}并保存,如下:
修改html文件
然后再打開“中國地圖.html”文件,就可以看到各省份的名稱啦,如下圖:
有省份名稱地圖
以上文章由北京艾銻無限科技發(fā)展有限公司整理