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

昨天發了篇 8行Python代碼輕鬆繪製新冠疫情地圖,介紹使用PyEcharts繪製疫情地圖,有朋友就問是否能繪製動態地圖,那必須能夠。
須要用到一個相似時間軸的Timeline組件。具體原理就是先建立一個時間軸,而後往裏面添加製做好的不一樣時間的地圖,若是地圖不少,寫一個循環自動讀取數據就能夠了。
咱們先來看看繪製的動態地圖效果。
動態新冠疫情地圖Python輕鬆畫html

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

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

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

長按識別下方二維碼,並關注公衆號
回覆「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

最後就能夠使用每日地圖繪製函數繪製地圖了excel

#建立時間軸對象
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 名企數據分析報告code

相關文章
相關標籤/搜索