未加星标

图解欧洲足球五大联赛数据可视化

字体大小 | |
[商业智能 所属分类 商业智能 | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

图解欧洲足球五大联赛数据可视化
存储

数据爬取

本次数据爬取我们选择的是虎扑网站,虎扑网站作为大型的体育类资讯网站,可以作为足球类数据的来源。爬取分为两部分,球员资料和比赛统计,比较好的一点是虎扑网站上的数据是以表格形式进行存储,如下图所示:


图解欧洲足球五大联赛数据可视化

图解欧洲足球五大联赛数据可视化

上图中由于虎扑球队信息更新不是特别及时,我们会在后期把这部分数据和比赛数据做inner join。循环爬取表格的方法基本上是相似的,下面只展示其中一场比赛的数据爬取,球员基本信息爬取与其类似:


i=

10854899

##网站比赛编号,作为循环因子即可

url <- sprintf(

'https://g.hupu.com/soccer/data_%d.html'

,i)

temp <- getURL(url,.encoding=

'utf-8'

)

doc <-htmlParse(temp)

players <- readHTMLTable(doc)

home <- players$table_home_players_stats

away <- players$table_away_players_stats

## 判断数据是否爬取,home_row,away_row均大于1说明数据成功爬取

home_row <- nrow(home)

away_row <- nrow(away)


数据分析

PART1:五大联赛比赛数据对比

首先我们通过几个维度对比五大联赛比赛的特点,在pc端我们使用subplot将四幅对比图放在一起,使得对比更加直观:



图解欧洲足球五大联赛数据可视化

通过以上指标我们发现英超的球队平均每场犯规次数远低于其他四大联赛,黄牌数量也较少,这与英超宽松的吹罚尺度有着密切的联系。西甲的越位和黄牌数量在五大联赛中均处于领先位置,严格的吹罚尺度更加有利于技术流的发展。


法甲的整体射门转化率在五大联赛中处于较低位置,一方面是由于一些神级门将的发挥(上届世界杯有着神级发挥的奥乔亚就曾在法甲让大巴黎37脚射门仅进1球),另一方面想必法甲也培养了一批的“吐饼王”。

部分代码如下:


## 球队平均每场犯规数绘制,其他图同理

p1 <- ggplot(league_stat,aes(x=联赛,y=平均每队犯规,fill=联赛))+

geom_boxplot()+

scale_color_few()+theme_economist()+ggtitle(

'球队平均每场犯规数'

)+

theme(axis.title = element_blank(),

plot.title = element_text(hjust=

0.5

,size=

17

),

axis.text.x = element_text(size =

15

),

legend.position =

'NONE'

)

## 设置subplot的行、列数

grid.newpage()

pushViewport(viewport(layout=grid.layout(

2

,

2

)))

vplayout<-

function

(x,y){viewport(layout.pos.row =x,layout.pos.col=y)}

## 将ggplot放置在subplot中

print

(p1,vp=vplayout(

1

,

1

))

print

(p2,vp=vplayout(

1

,

2

))

print

(p3,vp=vplayout(

2

,

1

))

print

(p4,vp=vplayout(

2

,

2

))


PART2:球员对比

我们首先挑选四项重要指标,进球效率,助攻效率,被犯规频率和扑救成功率的TOP20。其中被犯规频率需要考虑到联赛整体的吹罚尺度,所以计算时会乘以联赛的吹罚系数。下面战死四项指标的组合图:



图解欧洲足球五大联赛数据可视化

进球效率TOP5:卡瓦尼,法尔考,伊卡尔迪,因莫比莱,迪巴拉

助攻效率TOP5:格德斯,夸德拉多,皮亚尼奇,博格巴,达胡德

被犯规速率TOP5:内马尔,巴恩斯,桑切斯,埃尔南德斯,萨尔

扑救成功率TOP5:奥布拉克,波普,特尔施特根,德赫亚,纳瓦斯


内马尔在对手眼中是个极大的威胁,帮助他最常被侵犯排行榜TOP1,希望内少保重身体,明年世界杯就要来了。格德斯和奥布拉克分列助攻和扑球榜榜首,想必已经引起各大豪门的注意。

之前被诟病的卡瓦尼此次荣登进球效率榜首尾有些出人意料,看来大家的直觉和数据本身有时会有偏差。


另外一个大家很关心的问题就是谁拥有球队开火权,我们选取了射门数量占全队百分比的TOP20,并且对比其射门转化率:



图解欧洲足球五大联赛数据可视化

梅西、凯恩、C罗、巴洛特利、哲科分列前五位,可见其在球队的地位,巴神在TOP5中射门转化率较高,看来近期状态不错。C罗可能是把进球的感觉都留在了杯赛中,联赛射门转化率不甚理想。


汤姆因斯和卡罗尔两位的射门转化率均为0,这并不是数据缺失,而是这两位确实没有进球,下半赛季两位都需要做出改变。

这部分代码涉及到了melt函数,如下所示:


ord <- order(player_stat$射门占比,decreasing = TRUE)

player_stat_shemen <- player_stat[ord,][

1

:

20

,]

player_stat_shemen <- melt(player_stat_shemen,id=c(

'球员名'

,

'射门占比'

),

measure=c(

'射门占比'

,

'射门转化率'

))


PART3:联赛球员属性对比

我们最后看一下各大联赛球员的属性,重点是对比年龄和国籍分布情况,首先我们看一下五大联赛整体的对比情况:


图解欧洲足球五大联赛数据可视化

图解欧洲足球五大联赛数据可视化

五大联赛中英超外籍球员出场占比,上场球员平均年龄两项指标均高于其他几大联赛。对此本公众号推测足协正是看到了“欧洲中国队”联赛的现状,所以制定出了“标新立异“的u23和外援新政。


最后我们用地图的视角看一下五大联赛的球员国籍分布:

以西甲静态图为例,颜色深浅表示不同国籍的球员出场总时长情况:



图解欧洲足球五大联赛数据可视化

下面是五大联赛的动态GIF图表,由于公众号图片上传大小的限制,所以可能看的不是特别清晰,每次图片的切换代表不同联赛之间的切换:



图解欧洲足球五大联赛数据可视化

该部分重要代码如下:

p <- echartr(huizong,x=英文名,y=总时间,type=

'map_world'

,

t=联赛,subtype=

"move + scale"

)%>%

setDataRange(valueRange=c(

0

,

20000

))


欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:418451831

tags: #160,lt,联赛,射门,爬取,球员,stat,数据,犯规,player,TOP5,row,players,vplayout,home
分页:12
转载请注明
本文标题:图解欧洲足球五大联赛数据可视化
本站链接:http://www.codesec.net/view/570360.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 商业智能 | 评论(0) | 阅读(91)