echarts 山东地图_用Python画中国地图,实现各省份数据可视化
第一步:安裝pyecharts
pyecharts是一款將python與echarts結合的強大的數(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ù)
from pyecharts import Mapimport xlrd#?第一種方式,使用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:]如果各位沒有相應的Execel文件,也不想新建一個,那就干脆自己定義一個字典,其中鍵是省份,值是對應的數(shù)量,然后再把對應的值取出來
#?第二種方式,直接自己寫一個字典,然后取出相應數(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指的是顯示在地圖正上方的標題,
- attr就是一個包含了各省份名稱的列表,
- value就是包含了各省份對應數(shù)值的列表,
- visual_range指的是整個數(shù)據(jù)中的數(shù)值范圍,
- maptype就是指的地圖類型,
- is_visualmap代表是否顯示顏色
這時候就會生成一個名稱為“中國地圖.html”的文件,打開后如下圖所示:
無省份名稱地圖
如果想保存為圖片,可以點擊地圖右側(cè)的下載按鈕,因為隔著比較遠,我在錄屏的時候并沒有把下載按鈕錄進來,但大家在自己電腦上肯定會看見的。
第四步:進一步優(yōu)化
大家可以看到上圖中各省份的名稱只有在被鼠標選中的情況下,才能顯示,并且所保存的圖片也不會顯示各省份名稱,如果要顯示各省份名稱,則需要對html文件就行修改,推薦使用notepad++(一個文本編輯軟件,直接去百度上下載,很簡單的)打開“中國地圖.html”文件,然后在第1923行的那個series中添加"label":{ "normal":{ "show":true}},并保存,如下:
修改html文件
然后再打開“中國地圖.html”文件,就可以看到各省份的名稱啦,如下圖:
有省份名稱地圖
你以為你真的掌握了嗎?請進傳送門:用Python畫江蘇省地圖,實現(xiàn)各地級市數(shù)據(jù)可視化
關注微信公眾號“Python小鎮(zhèn)”,發(fā)現(xiàn)更多干貨知識!
總結
以上是生活随笔為你收集整理的echarts 山东地图_用Python画中国地图,实现各省份数据可视化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 分区表 处理海量数
- 下一篇: python 三维向量 交互_Blend