溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何利用Python制作動態(tài)排名圖

發(fā)布時(shí)間:2020-08-04 14:54:20 來源:億速云 閱讀:223 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了如何利用Python制作動態(tài)排名圖,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

如何利用Python制作動態(tài)排名圖

制作這樣的一個(gè)動態(tài)圖使用到的是 Pyecharts中的TimeLine(時(shí)間線輪播圖) ,代碼實(shí)現(xiàn)起來其實(shí)稍有難度,但我希望能 通過講解這樣一張動態(tài)圖的制作過程,來讓各位讀者可以使用Pyecharts將任何一種圖動起來 ,我們開始吧!

如何利用Python制作動態(tài)排名圖

首先我們需要思考一下這樣一種 動態(tài)圖的生成邏輯 ,不就是把每天的數(shù)據(jù)制作成一張條形圖然后輪動嗎,OK那我們的 數(shù)據(jù)要整理成啥樣 呢? 一個(gè)dataframe,每列是一個(gè)國家近20天的數(shù)據(jù),還有一個(gè)存儲20天時(shí)間的list:point_down:

如何利用Python制作動態(tài)排名圖

搞定數(shù)據(jù)之后我們?nèi)yecharts官方示例網(wǎng)站找到一個(gè)類似的圖

http://gallery.pyecharts.org/#/Timeline/timeline_bar_with_graphic

如何利用Python制作動態(tài)排名圖

官網(wǎng)示例代碼和效果都給你了,我們要做的就是 將這段代碼改成我們需要的形式 ,現(xiàn)在我們將這段代碼復(fù)制到Notebook中,并修改將圖 顯示在notebook中

如何利用Python制作動態(tài)排名圖

接下來我們 觀察這段代碼與圖 ,首先要改的是,把他 每次兩組變量改為一組變量,然后刪掉和修改一些不需要的文字 :point_down:

如何利用Python制作動態(tài)排名圖

上圖左邊是修改前的代碼,右邊是代碼修改的部分,就不用多做解釋了,直接看圖,現(xiàn)在我們的圖就成了這樣:point_down:

如何利用Python制作動態(tài)排名圖

是不是有點(diǎn)意思了,接下來也是稍微有一點(diǎn)難度的部分就是 修改坐標(biāo)軸和對應(yīng)的數(shù)據(jù) ,這時(shí)我們先觀察下這段代碼 如何控制坐標(biāo)軸和數(shù)據(jù)

如何利用Python制作動態(tài)排名圖

可以看到x軸調(diào)用了 Faker.choose() ,y軸調(diào)用了 Faker.values() 打印我們單獨(dú)調(diào)用一下出來看看

如何利用Python制作動態(tài)排名圖

你看這倆方法每次 返回一個(gè)list ,并且這個(gè) list是變化 的,并且要注意到他的 X寫在循環(huán)外 ,所以x軸一直沒有變,但 y軸的值寫在了循環(huán)里面 ,通過這樣的方式來讓每次生成的圖數(shù)據(jù)不一樣。

如何利用Python制作動態(tài)排名圖

所以我們接下來的目的就很明確了,因?yàn)槲覀兊?條形圖是有順序 的所以我們需要寫兩個(gè)函數(shù),在生成每一張圖的時(shí)候,返回一組x軸數(shù)據(jù),一組y軸數(shù)據(jù),并且是按照順序排列的,所以可以這么寫:point_down:

如何利用Python制作動態(tài)排名圖

稍微解釋一下修改的地方, get_value() 函數(shù)就是 將df1傳進(jìn)去,再把每一行的數(shù)據(jù)傳出來 ,k是用來識別 調(diào)用次數(shù) 的,這樣可以保證每次調(diào)用下一行的數(shù)據(jù)。接著在循環(huán)里面,將我們傳出來的確診數(shù)量和國家名使用Pandas進(jìn)行排序并返回兩個(gè)list,此時(shí)這 兩個(gè)list一一對應(yīng)并且確診數(shù)量是降序排列

此時(shí)我們的需求就實(shí)現(xiàn)了,用這個(gè)X,Y替換掉源代碼的X,Y即可

如何利用Python制作動態(tài)排名圖

其實(shí)到這里,就已經(jīng)結(jié)束了,點(diǎn)擊播放就可以實(shí)現(xiàn)輪動了,但接下來可以稍微修改部分代碼來調(diào)整細(xì)節(jié)

如何利用Python制作動態(tài)排名圖

上面這兩處修改就是調(diào)整了每張圖的切換時(shí)間,自動播放和反轉(zhuǎn)XY軸,此時(shí)就大功告成,你的條形圖就成功的動起來:point_down:

如何利用Python制作動態(tài)排名圖

如何利用Python制作動態(tài)排名圖

以上就是從0到1制作動態(tài)條形圖的過程,感興趣的一定要敲一遍代碼。注意本文用柱狀圖示例,但是 不管條形圖還是餅圖還是折線圖甚至地圖,體現(xiàn)到代碼不就是Bar還是Line嗎 ,想制作不同的動態(tài)圖不就是 修改一行代碼 的事嗎。我們再回顧一下剛剛的步驟:思考想要做的圖——>從官網(wǎng)找個(gè)demo——>觀察代碼——>修改部分代碼——>搞定!學(xué)會了嗎?

看完上述內(nèi)容,是不是對如何利用Python制作動態(tài)排名圖有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI