用Python製作歐洲盃視覺化圖表!
最近不少小夥伴都會熬夜看歐洲盃。
今年的歐洲盃相比起往年的歐洲盃來說,可謂是冷門頻出,出乎意料。
真的不知道,第一會花落誰家~
本期小編就和大家分享一下,用Python和Matplotlib繪製一個足球運動員的資料視覺化圖表。
很多小夥伴在學習python的時候總會遇到一些問題和瓶頸,沒有方向感,不知道該從哪裡入手去提升,對此我整理了一些資料,希望能夠去幫助到小夥伴們,可以關注up主,並在後臺私信小編:“資料”即可領取。
來看一下C羅的情況,跟老詹一樣高齡,真的佩服。
資料來源於下面兩個網站,Understat和Fbref。
連結:https://understat。com/
連結:https://fbref。com/en/
歐洲足球五大聯賽,英超、意甲、西甲、德甲、法甲。
先看一下射門資料的視覺化,本質上和籃球的出手點圖差不多,都是散點圖型別。
匯入相關的Python庫。
從Understat網站爬取射門資料,使用BeautifulSoup、JSON和pandas解析和處理資料。
此處的ID,透過查詢球員名字可知
查詢中國球員武磊,點選訪問,在位址列處,可以看到球員ID。
得到資料如下。
包含射門位置(x、y)、xG(預期進球)、射門結果、賽季。
其中x、y的座標值為0~1之間,不適合在Matplotlib顯示,所以選擇放大100倍。
得到結果如下。
既然已經成功獲取Understat網站的資料,就可以去獲取Fbref網站的資料啦。
這裡是球員的一些個人資訊,以及賽季的平均資料。
比如全名、國家、位置、俱樂部、聯賽、年齡、出生年份、上場時間、得分資料等等。
因為網頁的資料是表格形式,所以直接使用pandas的read_html函式,解析表格爬取資料。
這個網站需要取消一下證書驗證,要不然連線不成功。
獲取球員的相關資料。
得到結果如下。
資料都已經準備好了,那麼我們就可以將資料繪製到圖表上。
先
安
裝mplsoc
cer
、h
ighlight_tex
t這兩個Python庫
。
其中mplsoccer庫可以自定義繪製足球場,無需我們自己繪製場地圖。
想了解更多,可以訪問它的GitHub地址。
https://github。com/andrewRowlinson/mplsoccer
初始化一些設定,畫布背景色、字型顏色、預設字型,字型大小,此處選擇中文字型。
新建一個畫布。
顯示如下。
繪製19-20賽季,C羅的進球情況。
透過設定mplsoccer的引數,繪製半個足球場。
果然,左下方有半個足球場。
將射門資料用散點圖表示,分為進球得分和未成功進球得分兩種情況。
未得分射門散點圖。
得分散點圖。
結果如下,失敗的比成功的多。
這樣,我們就將C羅在2019-2020賽季的所有射門點資料可視化出來了。
其中散點的大小,是預期進球的大小。
新增標籤及圖例,設定相應的位置、文字、字型等設定。
成功新增附加資訊。
顯示賽季、xG、得分次數、射門次數資訊。
同樣將20-21賽季的資料繪製出來,放置在19-20賽季的右側。
結果如下。
C羅老當益壯啊,狀態一點也沒有下滑。
下面接著繪製所有球員的資料散點圖,看看C羅的資料能在哪一檔?
建立一個座標軸。
首先對資料進行篩選,上場時間最少要有900s,而且位置為前鋒此類的。
畢竟我們不能拿個守門員,跟C羅比資料吧,參考意義不大。
所有球員每90s預期進球和得分次數的資料情況。
現在我們篩選出C羅的資料,在散點圖上用不同的顏色及透明度來突出顯示它。
結果如下。
可以看到C羅的資料還是比較高效的,雖不是第一,但也是前幾的存在。
最後給散點圖新增網格線,以及x軸和y軸標籤。
結果如下。
不愧是C羅,在2020-21賽季幾乎每90秒就能進1顆球。
18年就已經有一個記錄!
C羅成歷史第一位在90分鐘內每分鐘都有進球的球員
。
最後新增文字資訊,包含標題,C羅的頭像,場上位置、年齡、效力球隊。
此處使用hightlight-text庫,可以高亮文字。
C羅的頭像、效力的隊伍logo,都是小F自己製作的。
得到結果如下。
儲存為圖片。
看起來還不錯哦。
好了,本期的分享就到此結束了,有興趣的小夥伴可以自行去實踐學習。
很多小夥伴在學習python的時候總會遇到一些問題和瓶頸,沒有方向感,不知道該從哪裡入手去提升,對此我整理了一些資料,希望能夠去幫助到小夥伴們,可以關注up主,並在後臺私信小編:“資料”即可領取。
相關文章
- 2021-09-26王者榮耀:S24戰令落幕 玩家736級登頂全區第一
- 2021-09-22665-670!梅西強勢追趕,距離老對手只差5球!C羅又一紀錄將不保
- 2021-08-29如果中國守門員能100%攔截住所有射門,中國足球就是世界第一?
- 2021-08-20曼城送禮! 熱刺爭四有戲, 三戰保級隊9分來了, 穆帥激將貝爾阿里
- 2021-07-20球王!梅西9項資料領跑足壇,C羅僅超梅西2項,這該如何責怪豬隊友?