99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

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

作者:Python進階者

來源:Python爬蟲與數(shù)據(jù)挖掘

前言

前幾天有個學(xué)生娃子找我?guī)兔ψ鳇c可視化的作業(yè),其實倒是也不難,覺得挺有意思,這里拿出來給大家分享,主要是完成了輪播圖的制作,顯得作業(yè)高大上一些。

數(shù)據(jù)來源

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

實現(xiàn)過程

新增感染病例

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

from pyecharts.charts import Map, Timeline from pyecharts import options as opts # 準數(shù)據(jù) shanxi_city = ["西安市", "延安市", "咸陽市", "渭南市", "安康市", "漢中市", "寶雞市", "銅川市", "商洛市", "榆林市", "韓城市", "楊凌示范區(qū)"]
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))
) # 渲染數(shù)據(jù) map.render('陜西省新增感染病例疫情圖.html')

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

現(xiàn)有病例

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

累計病例

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

治愈病例

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

死亡病例

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

輪播圖

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

from pyecharts.charts import Map, Timeline from pyecharts import options as opts # 1. 準數(shù)據(jù) shanxi_city = ["西安市", "延安市", "咸陽市", "渭南市", "安康市", "漢中市", "寶雞市", "銅川市", "商洛市", "榆林市", "韓城市", "楊凌示范區(qū)"] 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. 繪制現(xiàn)有疫情地圖:格式二 map2 = ( Map() .add('現(xiàn)有病例', [(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. 創(chuàng)建組合類對象 timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px')) # 8. 在組合對象中添加需要組合的圖表對象 timeline.add(chart=map1, time_point="陜西省新增病例疫情圖") timeline.add(chart=map2, time_point="陜西省現(xiàn)有病例疫情圖") 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. 渲染數(shù)據(jù) timeline.render('陜西省疫情輪播圖.html') 

實現(xiàn)的效果圖如下:

實際上它是動態(tài)的,我這里沒有轉(zhuǎn)gif格式,看上去有點干巴,問題不大。

總結(jié)

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

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

數(shù)據(jù)分析咨詢請掃描二維碼

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

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }