第一步:安裝pyecharts
pyecharts是一款将python與echarts結合的強大的數據可視化工具,本文使用了0.1.9.4版本
pipinstallpyecharts==0.1.9.4
第二步:讀取數據
我的數據是在Excel表格裡,如下圖:
Execel數據
使用xlrd(沒有就通過pip install xlrd安裝)讀取Excel表格中的數據
from pyecharts import Map
import xlrd
#第一種方式,使用xlrd讀取Execel表格中數據
data=xlrd.open_workbook('data.xlsx')
table=data.sheet_by_name('Sheet1')
province=table.col_values(0)[1:]
num=table.col_values(1)[1:]
如果各位沒有相應的Execel文件,也不想新建一個,那就幹脆自己定義一個字典,其中鍵是省份,值是對應的數量,然後再把對應的值取出來
#第二種方式,直接自己寫一個字典,然後取出相應數據
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,
'内蒙古':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="分布數量",
attr=province,
value=num,
visual_range=[0, 239],
maptype='china',
is_visualmap=True)
chinaMap.render(path="中國地圖.html")
- 其中參數name指的是顯示在地圖正上方的标題,
- attr就是一個包含了各省份名稱的列表,
- value就是包含了各省份對應數值的列表,
- visual_range指的是整個數據中的數值範圍,
- maptype就是指的地圖類型,
- is_visualmap代表是否顯示顔色
這時候就會生成一個名稱為“中國地圖.html”的文件,打開後如下圖所示:
無省份名稱地圖
如果想保存為圖片,可以點擊地圖右側的下載按鈕,因為隔着比較遠,我在錄屏的時候并沒有把下載按鈕錄進來,但大家在自己電腦上肯定會看見的。
第四步:進一步優化
大家可以看到上圖中各省份的名稱隻有在被鼠标選中的情況下,才能顯示,并且所保存的圖片也不會顯示各省份名稱,如果要顯示各省份名稱,則需要對html文件就行修改,推薦使用notepad (一個文本編輯軟件,直接去百度上下載,很簡單的)打開“中國地圖.html”文件,然後在第1923行的那個series中添加"label":{ "normal":{ "show":true}},并保存,如下:
修改html文件
然後再打開“中國地圖.html”文件,就可以看到各省份的名稱啦,如下圖:
有省份名稱地圖
你以為你真的掌握了嗎?請進傳送門:用Python畫江蘇省地圖,實現各地級市數據可視化
關注微信公衆号“Python小鎮”,發現更多幹貨知識!
,