動態新冠疫情地圖Python輕鬆畫

昨天發了篇 8行Python代碼輕鬆繪製新冠疫情地圖,介紹使用PyEcharts繪製疫情地圖,有朋友就問是否能繪製動態地圖,那必須可以。
需要用到一個類似時間軸的Timeline組件。具體原理就是先創建一個時間軸,然後往裏面添加製作好的不同時間的地圖,如果地圖很多,寫一個循環自動讀取數據就可以了。
我們先來看看繪製的動態地圖效果。
動態新冠疫情地圖Python輕鬆畫


本文繼續採用v1.x版本進行繪製地圖。
首先導入需要使用的模塊:

import pandas
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.charts import Timeline

然後導入需要數據,數據是這樣的,存在Excel表格中:
動態新冠疫情地圖Python輕鬆畫

長按識別下方二維碼,並關注公衆號
回覆“DTX”獲取案例數據
動態新冠疫情地圖Python輕鬆畫

data = pandas.read_excel('C:/Python/xgyq.xlsx',sheet_name='2', index_col='time') 
#取出省份列表
attr = data.columns.tolist()
#統計數據條數
n = len(data.index)

然後定義一個每日地圖繪製函數

#定義每日地圖繪製函數
def map_visualmap(sequence, date) -> Map:
    c = (
        Map()
        .add(date, sequence, maptype="china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="全國疫情動態地圖"),
            visualmap_opts=opts.VisualMapOpts(max_=150),
        )
    )
    return c

最後就可以使用每日地圖繪製函數繪製地圖了

#創建時間軸對象
timeline = Timeline()

for i in range(n):
    #取每日數據
    row = data.iloc[i,].tolist()
    #將數據轉換爲二元的列表
    sequence_temp = list(zip(attr,row))
    #對日期格式化以便顯示
    time = format(data.index[i], "%Y-%m-%d")
    #創建地圖
    map_temp = map_visualmap(sequence_temp,time)
    #將地圖加入時間軸對象
    timeline.add(map_temp,time).add_schema(play_interval=360)
# 地圖創建完成後,通過render()方法可以將地圖渲染爲html 
timeline.render('全國疫情動態地圖.html')

動態新冠疫情地圖Python輕鬆畫
如果你喜歡本文,可以點擊右下角在看
如果你在跟着學習,請在留言區留言:打卡
如果你剛看到本文,可以查看本系列歷史文章跟着學習:
跟小白學Python數據分析——Anaconda安裝
跟小白學Python數據分析——使用spyder
跟小白學Python數據分析——數據導入1
跟小白學Python數據分析——數據導入2
跟小白學Python數據分析——描述性統計分析
跟小白學Python數據分析——分組分析
8行Python代碼輕鬆繪製新冠疫情地圖









長按識別下方二維碼,並關注公衆號,回覆“PY”領取1GB Python數據分析資料
動態新冠疫情地圖Python輕鬆畫
1.回覆“PY”領取1GB Python數據分析資料
2.回覆“BG”領取5GB 名企數據分析報告


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章