2019-12-18 21:38:16 越來越多的公司開始使用Python進(jìn)行數(shù)據(jù)處理。其中,對(duì)處理過的數(shù)據(jù)進(jìn)行圖表生成則變得必不可少。一般來說,生成的圖表都是靜態(tài)的。最多也就是通過圖表顏色的變化使其好看一點(diǎn)。但是,如果讓圖表自己動(dòng)起來,比如說:奔跑起來,是不是立馬可以吸引你的目光呢。 Bar Chart Races (條形圖比賽)最近悄然流行起來?!畻l形圖比賽’這種形式最早出現(xiàn)在Matt Navarra的tweet上,瀏覽次數(shù)超過1000萬次。隨后,F(xiàn)lourish Studio發(fā)布了Race Chart,一款快速制作條形圖比賽的傻瓜式工具。 那么,會(huì)python的你能不能自己實(shí)現(xiàn)‘條形圖比賽’呢?答案自然是:可以。 跟著我一起來完成第一個(gè)‘Bar Chart Races’吧! 數(shù)據(jù)準(zhǔn)備 2018年,世界城市人口最多的10大城市有哪些呢?那2017呢? 這次,就一起來做一個(gè)世界城市人口最多的10大城市的編年史吧。 使用python處理數(shù)據(jù)以及繪圖自然少不了Pandas和matplotlib這兩把利器。先導(dǎo)入一些我們會(huì)用到的python包。 接下來,導(dǎo)入世界城市人口數(shù)據(jù)。 總共有6252條數(shù)據(jù)。通過觀察,我們只需要name、group、year和value這四列數(shù)據(jù)即可。 通過iloc方法,我們截取前四列數(shù)據(jù)。1500年,北京的人口67.2萬。 而2018年世界上人口數(shù)最多的城市又有哪些呢? 2018年人口最多的城市是東京,3819.4萬。上海和北京分別為2577.8和2267.4萬。數(shù)據(jù)永遠(yuǎn)沒有圖表來的直觀。一起先來做一個(gè)2018年城市人口Top10的柱狀圖吧! 當(dāng)然,光是這樣真的很土。一張好的圖表,一定要色彩鮮明,信息傳達(dá)清晰。因此,我們需要對(duì)圖表的字體、顏色,坐標(biāo)軸樣式、坐標(biāo)標(biāo)簽等等進(jìn)行處理。 圖表美化 通過對(duì)整個(gè)數(shù)據(jù)group列的處理,城市來自于六大板塊。那么,我們可以給六大板塊不同的配色,之后的板塊城市繼承該配色。 同時(shí),我們將城市與對(duì)應(yīng)板塊進(jìn)行配對(duì)。 通過ax.text()函數(shù),我們可以對(duì)圖表內(nèi)每一個(gè)柱狀圖城市名、對(duì)應(yīng)板塊名和人口數(shù)進(jìn)行位置上的調(diào)整,調(diào)整后效果如下。 為了色彩的多樣性,我們將各個(gè)板塊的顏色添加進(jìn)去,并且增加標(biāo)題和坐標(biāo)軸的變化。 Bar chart races制作 由于數(shù)據(jù)是以年為基礎(chǔ)的,我們將上述代碼封裝成函數(shù) bar_chart_race,參數(shù)為年-year。 有了函數(shù) bar_chart_race,就可以輕松的做出每年的柱狀圖了。 Python的繪圖包matplotlib中自帶了很多動(dòng)態(tài)的變化-matplotlib.animation。其中,F(xiàn)uncAnimation可以通過循環(huán)調(diào)用繪圖函數(shù)進(jìn)行圖像的更新。下面就是見證奇跡的時(shí)刻了。 將bar_chart_race函數(shù)作為參數(shù)放入animation.FuncAnimation中,就可以制成從1500年到2018年世界人口Top10城市變化圖了。 總結(jié) Matplotlib是一個(gè)很值得認(rèn)真學(xué)習(xí)庫。希望你能從這篇文章中學(xué)到數(shù)據(jù)處理以及動(dòng)態(tài)作圖的知識(shí)。 下面就欣賞一下我們做的動(dòng)態(tài)圖吧! 代碼如下:animator.save('animation.gif', writer='pillow', fps=60) 以上便是小編給大家?guī)淼娜績?nèi)容,轉(zhuǎn)發(fā)此文+關(guān)注 并私信小編“資料”即可免費(fèi)領(lǐng)取2019最新python資料和零基礎(chǔ)入門教程!以上便是小編給大家?guī)淼娜績?nèi)容,轉(zhuǎn)發(fā)此文+關(guān)注 并私信小編“資料”即可免費(fèi)領(lǐng)取2019最新python資料和零基礎(chǔ)入門教程! |
|