熱線電話:13121318867

登錄
首頁精彩閱讀基于百度疫情實時數據報告,用Pyecharts庫制作省位地圖和輪播圖(CDA干貨內容分享)
基于百度疫情實時數據報告,用Pyecharts庫制作省位地圖和輪播圖(CDA干貨內容分享)
2022-01-14
收藏

作者:Python進階者

來源:Python爬蟲與數據挖掘

前言

前幾天有個學生娃子找我幫忙做點可視化的作業,其實倒是也不難,覺得挺有意思,這里拿出來給大家分享,主要是完成了輪播圖的制作,顯得作業高大上一些。

數據來源

首先是數據來源,來自百度疫情實時大數據報告,如下圖所示。

實現過程

新增感染病例

這里直接上代碼和效果圖,如下所示:

from pyecharts.charts import Map, Timeline from pyecharts import options as opts # 準數據 shanxi_city = ["西安市", "延安市", "咸陽市", "渭南市", "安康市", "漢中市", "寶雞市", "銅川市", "商洛市", "榆林市", "韓城市", "楊凌示范區"]
shanxi_data = [46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 繪制陜西疫情地圖 map = (
    Map()
    .add('陜西省', [(i, j) for i, j in zip(shanxi_city, shanxi_data)], '陜西')
    .set_global_opts(title_opts=opts.TitleOpts(title='陜西省新增感染病例疫情圖'), visualmap_opts=opts.VisualMapOpts(max_=50, is_piecewise=True))
) # 渲染數據 map.render('陜西省新增感染病例疫情圖.html')

運行之后,得到的效果圖如下所示:

現有病例

代碼和上面差不多,只需要更改下數據即可,這里直接放效果圖了,如下圖所示:

累計病例

代碼和上面差不多,只需要更改下數據即可,這里直接放效果圖了,如下圖所示:

治愈病例

代碼和上面差不多,只需要更改下數據即可,這里直接放效果圖了,如下圖所示:

死亡病例

代碼和上面差不多,只需要更改下數據即可,這里直接放效果圖了,如下圖所示:

輪播圖

這里給大家分享輪播效果圖的代碼,原理倒是不難,后面自己直接套用就行,代碼如下:

from pyecharts.charts import Map, Timeline from pyecharts import options as opts # 1. 準數據 shanxi_city = ["西安市", "延安市", "咸陽市", "渭南市", "安康市", "漢中市", "寶雞市", "銅川市", "商洛市", "榆林市", "韓城市", "楊凌示范區"] xinzeng = [46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] xianyou = [1747, 13, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0] leiji = [2094, 21, 31, 18, 26, 26, 13, 8, 7, 3, 1, 1] zhiyu = [304, 8, 20, 17, 26, 26, 13, 8, 7, 3, 1, 1] siwang = [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 2. 繪制新增疫情地圖:格式一 map1 = ( Map(init_opts=opts.InitOpts(width="700px", height="300px", theme="blue")) .add('新增病例', [(i, j) for i, j in zip(shanxi_city, xinzeng)], '陜西') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=50)) ) # 3. 繪制現有疫情地圖:格式二 map2 = ( Map() .add('現有病例', [(i, j) for i, j in zip(shanxi_city, xianyou)], '陜西') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=1750, is_piecewise=True)) ) # 4. 繪制累計疫情地圖:格式三 map3 = ( Map() .add('累計病例', [(i, j) for i, j in zip(shanxi_city, leiji)], '陜西') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=2100, is_piecewise=True)) ) # 5. 繪制治愈疫情地圖:格式四 map4 = ( Map() .add('治愈病例', [(i, j) for i, j in zip(shanxi_city, zhiyu)], '陜西') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=310, is_piecewise=True)) ) # 6. 繪制死亡疫情地圖:格式五 map5 = ( Map() .add('死亡病例', [(i, j) for i, j in zip(shanxi_city, siwang)], '陜西') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=3, is_piecewise=True)) ) # 7. 創建組合類對象 timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px')) # 8. 在組合對象中添加需要組合的圖表對象 timeline.add(chart=map1, time_point="陜西省新增病例疫情圖") timeline.add(chart=map2, time_point="陜西省現有病例疫情圖") timeline.add(chart=map3, time_point="陜西省累計病例疫情圖") timeline.add(chart=map4, time_point="陜西省治愈病例疫情圖") timeline.add(chart=map5, time_point="陜西省死亡病例疫情圖") timeline.add_schema(is_auto_play=True, play_interval=2000) # 9. 渲染數據 timeline.render('陜西省疫情輪播圖.html') 

實現的效果圖如下:

實際上它是動態的,我這里沒有轉gif格式,看上去有點干巴,問題不大。

總結

大家好,我是Python進階者。這篇文章主要基于百度疫情實時大數據報告數據,利用了Python中的可視化庫pyecharts給大家分享了省位地圖的制作和輪播圖的制作方法。

最后也歡迎大家積極嘗試,有好的內容也可以分享給我噢!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢